Просмотр исходного кода

Added new docs generated with JSDocs (#32118)

* New Docs: Add translation disable flags.

* Clean up.

* Improved tables rendering.

* Exclude WebGPURenderer.Nodes.js for now.

* Changed jsdocs destination folder to docs.

* Fixed navigation indentation.

* Generated docs.

* Replaced prettify.js with highlight.js

* Clean up.

* Updated docs.
mrdoob 4 месяцев назад
Родитель
Сommit
6618a69400
100 измененных файлов с 18417 добавлено и 0 удалено
  1. 2405 0
      docs/index.html
  2. 106 0
      docs/pages/AMFLoader.html
  3. 54 0
      docs/pages/AONode.html
  4. 61 0
      docs/pages/ARButton.html
  5. 158 0
      docs/pages/AfterImageNode.html
  6. 147 0
      docs/pages/AfterimagePass.html
  7. 61 0
      docs/pages/AmbientLight.html
  8. 45 0
      docs/pages/AmbientLightNode.html
  9. 101 0
      docs/pages/AmmoPhysics.html
  10. 102 0
      docs/pages/AnaglyphEffect.html
  11. 92 0
      docs/pages/AnaglyphPassNode.html
  12. 217 0
      docs/pages/AnalyticLightNode.html
  13. 191 0
      docs/pages/AnamorphicNode.html
  14. 491 0
      docs/pages/AnimationAction.html
  15. 299 0
      docs/pages/AnimationClip.html
  16. 162 0
      docs/pages/AnimationClipCreator.html
  17. 101 0
      docs/pages/AnimationLoader.html
  18. 220 0
      docs/pages/AnimationMixer.html
  19. 117 0
      docs/pages/AnimationObjectGroup.html
  20. 200 0
      docs/pages/AnimationUtils.html
  21. 72 0
      docs/pages/ArcCurve.html
  22. 395 0
      docs/pages/ArcballControls.html
  23. 69 0
      docs/pages/ArrayCamera.html
  24. 90 0
      docs/pages/ArrayElementNode.html
  25. 161 0
      docs/pages/ArrayNode.html
  26. 146 0
      docs/pages/ArrowHelper.html
  27. 218 0
      docs/pages/AsciiEffect.html
  28. 101 0
      docs/pages/AssignNode.html
  29. 125 0
      docs/pages/AtomicFunctionNode.html
  30. 98 0
      docs/pages/AttributeNode.html
  31. 530 0
      docs/pages/Audio.html
  32. 103 0
      docs/pages/AudioAnalyser.html
  33. 55 0
      docs/pages/AudioContext.html
  34. 140 0
      docs/pages/AudioListener.html
  35. 85 0
      docs/pages/AudioLoader.html
  36. 83 0
      docs/pages/AxesHelper.html
  37. 125 0
      docs/pages/BVHLoader.html
  38. 46 0
      docs/pages/BarrierNode.html
  39. 55 0
      docs/pages/BasicEnvironmentNode.html
  40. 54 0
      docs/pages/BasicLightMapNode.html
  41. 74 0
      docs/pages/BasicLightingModel.html
  42. 80 0
      docs/pages/BatchNode.html
  43. 603 0
      docs/pages/BatchedMesh.html
  44. 79 0
      docs/pages/BitcastNode.html
  45. 50 0
      docs/pages/BitonicSort_BitonicSort.html
  46. 218 0
      docs/pages/BloomNode.html
  47. 163 0
      docs/pages/BloomPass.html
  48. 221 0
      docs/pages/BokehPass.html
  49. 51 0
      docs/pages/Bone.html
  50. 83 0
      docs/pages/BooleanKeyframeTrack.html
  51. 451 0
      docs/pages/Box2.html
  52. 648 0
      docs/pages/Box3.html
  53. 70 0
      docs/pages/Box3Helper.html
  54. 102 0
      docs/pages/BoxGeometry.html
  55. 99 0
      docs/pages/BoxHelper.html
  56. 74 0
      docs/pages/BoxLineGeometry.html
  57. 668 0
      docs/pages/BufferAttribute.html
  58. 261 0
      docs/pages/BufferAttributeNode.html
  59. 624 0
      docs/pages/BufferGeometry.html
  60. 103 0
      docs/pages/BufferGeometryLoader.html
  61. 121 0
      docs/pages/BufferNode.html
  62. 83 0
      docs/pages/BuiltinNode.html
  63. 65 0
      docs/pages/BumpMapNode.html
  64. 83 0
      docs/pages/BundleGroup.html
  65. 73 0
      docs/pages/BypassNode.html
  66. 104 0
      docs/pages/CCDIKHelper.html
  67. 301 0
      docs/pages/CCDIKSolver.html
  68. 403 0
      docs/pages/CSM.html
  69. 174 0
      docs/pages/CSMFrustum.html
  70. 93 0
      docs/pages/CSMHelper.html
  71. 232 0
      docs/pages/CSMShadowNode.html
  72. 68 0
      docs/pages/CSS2DObject.html
  73. 144 0
      docs/pages/CSS2DRenderer.html
  74. 61 0
      docs/pages/CSS3DObject.html
  75. 142 0
      docs/pages/CSS3DRenderer.html
  76. 62 0
      docs/pages/CSS3DSprite.html
  77. 102 0
      docs/pages/Cache.html
  78. 98 0
      docs/pages/Camera.html
  79. 113 0
      docs/pages/CameraHelper.html
  80. 302 0
      docs/pages/CanvasTarget.html
  81. 86 0
      docs/pages/CanvasTexture.html
  82. 180 0
      docs/pages/Capsule.html
  83. 96 0
      docs/pages/CapsuleGeometry.html
  84. 128 0
      docs/pages/CatmullRomCurve3.html
  85. 135 0
      docs/pages/ChromaticAberrationNode.html
  86. 80 0
      docs/pages/CinquefoilKnot.html
  87. 98 0
      docs/pages/CircleGeometry.html
  88. 87 0
      docs/pages/ClearMaskPass.html
  89. 115 0
      docs/pages/ClearPass.html
  90. 74 0
      docs/pages/ClippingGroup.html
  91. 140 0
      docs/pages/ClippingNode.html
  92. 110 0
      docs/pages/Clock.html
  93. 124 0
      docs/pages/CodeNode.html
  94. 102 0
      docs/pages/ColladaLoader.html
  95. 798 0
      docs/pages/Color.html
  96. 85 0
      docs/pages/ColorConverter.html
  97. 67 0
      docs/pages/ColorKeyframeTrack.html
  98. 97 0
      docs/pages/ColorSpaceNode.html
  99. 121 0
      docs/pages/CompressedArrayTexture.html
  100. 67 0
      docs/pages/CompressedCubeTexture.html

+ 2405 - 0
docs/index.html

@@ -0,0 +1,2405 @@
+<!DOCTYPE html>
+<html lang="en">
+	<head>
+		<meta charset="utf-8">
+		<title>three.js docs</title>
+		<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+		<link rel="shortcut icon" href="/files/favicon_white.ico" media="(prefers-color-scheme: dark)"/>
+		<link rel="shortcut icon" href="/files/favicon.ico" media="(prefers-color-scheme: light)" />
+		<link rel="stylesheet" type="text/css" href="/files/main.css">
+		<!-- console sandbox -->
+		<script type="module">
+			import * as THREE from '../build/three.module.js';
+			window.THREE = THREE;
+		</script>
+	</head>
+	<body>
+		<div id="panel" translate="no">
+
+			<div id="header">
+				<h1><a href="https://threejs.org">three.js</a></h1>
+
+				<div id="sections">
+					<span class="selected">docs</span>
+					<a href="../manual/">manual</a>
+				</div>
+
+				<div id="expandButton"></div>
+			</div>
+
+			<div id="panelScrim"></div>
+
+			<div id="contentWrapper">
+				<div id="inputWrapper">
+					<input placeholder="" type="text" id="filterInput" autocorrect="off" autocapitalize="off" spellcheck="false" />
+					<div id="clearSearchButton"></div>
+				</div>
+				<div id="searchResults" style="display: none;"></div>
+				<div id="content">
+					<h2>Core</h2>
+					<h3>Animation</h3>
+					<ul>
+						<li><a href="AnimationAction.html">AnimationAction</a></li>
+						<li><a href="AnimationClip.html">AnimationClip</a></li>
+						<li><a href="AnimationMixer.html">AnimationMixer</a></li>
+						<li><a href="AnimationObjectGroup.html">AnimationObjectGroup</a></li>
+						<li><a href="AnimationUtils.html">AnimationUtils</a></li>
+						<li><a href="BooleanKeyframeTrack.html">BooleanKeyframeTrack</a></li>
+						<li><a href="ColorKeyframeTrack.html">ColorKeyframeTrack</a></li>
+						<li><a href="KeyframeTrack.html">KeyframeTrack</a></li>
+						<li><a href="NumberKeyframeTrack.html">NumberKeyframeTrack</a></li>
+						<li><a href="PropertyBinding.html">PropertyBinding</a></li>
+						<li><a href="PropertyMixer.html">PropertyMixer</a></li>
+						<li><a href="QuaternionKeyframeTrack.html">QuaternionKeyframeTrack</a></li>
+						<li><a href="StringKeyframeTrack.html">StringKeyframeTrack</a></li>
+						<li><a href="VectorKeyframeTrack.html">VectorKeyframeTrack</a></li>
+					</ul>
+					<h3>Audio</h3>
+					<ul>
+						<li><a href="Audio.html">Audio</a></li>
+						<li><a href="AudioAnalyser.html">AudioAnalyser</a></li>
+						<li><a href="AudioContext.html">AudioContext</a></li>
+						<li><a href="AudioListener.html">AudioListener</a></li>
+						<li><a href="PositionalAudio.html">PositionalAudio</a></li>
+					</ul>
+					<h3>Cameras</h3>
+					<ul>
+						<li><a href="ArrayCamera.html">ArrayCamera</a></li>
+						<li><a href="Camera.html">Camera</a></li>
+						<li><a href="CubeCamera.html">CubeCamera</a></li>
+						<li><a href="OrthographicCamera.html">OrthographicCamera</a></li>
+						<li><a href="PerspectiveCamera.html">PerspectiveCamera</a></li>
+						<li><a href="StereoCamera.html">StereoCamera</a></li>
+					</ul>
+					<h3>Core</h3>
+					<ul>
+						<li><a href="BufferAttribute.html">BufferAttribute</a></li>
+						<li><a href="BufferGeometry.html">BufferGeometry</a></li>
+						<li><a href="Clock.html">Clock</a></li>
+						<li><a href="EventDispatcher.html">EventDispatcher</a></li>
+						<li><a href="Float16BufferAttribute.html">Float16BufferAttribute</a></li>
+						<li><a href="Float32BufferAttribute.html">Float32BufferAttribute</a></li>
+						<li><a href="GLBufferAttribute.html">GLBufferAttribute</a></li>
+						<li><a href="InstancedBufferAttribute.html">InstancedBufferAttribute</a></li>
+						<li><a href="InstancedBufferGeometry.html">InstancedBufferGeometry</a></li>
+						<li><a href="InstancedInterleavedBuffer.html">InstancedInterleavedBuffer</a></li>
+						<li><a href="Int16BufferAttribute.html">Int16BufferAttribute</a></li>
+						<li><a href="Int32BufferAttribute.html">Int32BufferAttribute</a></li>
+						<li><a href="Int8BufferAttribute.html">Int8BufferAttribute</a></li>
+						<li><a href="InterleavedBuffer.html">InterleavedBuffer</a></li>
+						<li><a href="InterleavedBufferAttribute.html">InterleavedBufferAttribute</a></li>
+						<li><a href="Layers.html">Layers</a></li>
+						<li><a href="Object3D.html">Object3D</a></li>
+						<li><a href="Raycaster.html">Raycaster</a></li>
+						<li><a href="RenderTarget.html">RenderTarget</a></li>
+						<li><a href="RenderTarget3D.html">RenderTarget3D</a></li>
+						<li><a href="Timer.html">Timer</a></li>
+						<li><a href="Uint16BufferAttribute.html">Uint16BufferAttribute</a></li>
+						<li><a href="Uint32BufferAttribute.html">Uint32BufferAttribute</a></li>
+						<li><a href="Uint8BufferAttribute.html">Uint8BufferAttribute</a></li>
+						<li><a href="Uint8ClampedBufferAttribute.html">Uint8ClampedBufferAttribute</a></li>
+						<li><a href="Uniform.html">Uniform</a></li>
+						<li><a href="UniformsGroup.html">UniformsGroup</a></li>
+					</ul>
+					<h3>Extras</h3>
+					<ul>
+						<li><a href="ArcCurve.html">ArcCurve</a></li>
+						<li><a href="CatmullRomCurve3.html">CatmullRomCurve3</a></li>
+						<li><a href="Controls.html">Controls</a></li>
+						<li><a href="CubicBezierCurve.html">CubicBezierCurve</a></li>
+						<li><a href="CubicBezierCurve3.html">CubicBezierCurve3</a></li>
+						<li><a href="Curve.html">Curve</a></li>
+						<li><a href="CurvePath.html">CurvePath</a></li>
+						<li><a href="DataUtils.html">DataUtils</a></li>
+						<li><a href="Earcut.html">Earcut</a></li>
+						<li><a href="EllipseCurve.html">EllipseCurve</a></li>
+						<li><a href="ImageUtils.html">ImageUtils</a></li>
+						<li><a href="LineCurve.html">LineCurve</a></li>
+						<li><a href="LineCurve3.html">LineCurve3</a></li>
+						<li><a href="PMREMGenerator.html">PMREMGenerator</a></li>
+						<li><a href="Path.html">Path</a></li>
+						<li><a href="QuadraticBezierCurve.html">QuadraticBezierCurve</a></li>
+						<li><a href="QuadraticBezierCurve3.html">QuadraticBezierCurve3</a></li>
+						<li><a href="Shape.html">Shape</a></li>
+						<li><a href="ShapePath.html">ShapePath</a></li>
+						<li><a href="ShapeUtils.html">ShapeUtils</a></li>
+						<li><a href="SplineCurve.html">SplineCurve</a></li>
+						<li><a href="TextureUtils.html">TextureUtils</a></li>
+						<li><a href="module-Interpolations.html">Interpolations</a></li>
+					</ul>
+					<h3>Geometries</h3>
+					<ul>
+						<li><a href="BoxGeometry.html">BoxGeometry</a></li>
+						<li><a href="CapsuleGeometry.html">CapsuleGeometry</a></li>
+						<li><a href="CircleGeometry.html">CircleGeometry</a></li>
+						<li><a href="ConeGeometry.html">ConeGeometry</a></li>
+						<li><a href="CylinderGeometry.html">CylinderGeometry</a></li>
+						<li><a href="DodecahedronGeometry.html">DodecahedronGeometry</a></li>
+						<li><a href="EdgesGeometry.html">EdgesGeometry</a></li>
+						<li><a href="ExtrudeGeometry.html">ExtrudeGeometry</a></li>
+						<li><a href="IcosahedronGeometry.html">IcosahedronGeometry</a></li>
+						<li><a href="LatheGeometry.html">LatheGeometry</a></li>
+						<li><a href="OctahedronGeometry.html">OctahedronGeometry</a></li>
+						<li><a href="PlaneGeometry.html">PlaneGeometry</a></li>
+						<li><a href="PolyhedronGeometry.html">PolyhedronGeometry</a></li>
+						<li><a href="RingGeometry.html">RingGeometry</a></li>
+						<li><a href="ShapeGeometry.html">ShapeGeometry</a></li>
+						<li><a href="SphereGeometry.html">SphereGeometry</a></li>
+						<li><a href="TetrahedronGeometry.html">TetrahedronGeometry</a></li>
+						<li><a href="TorusGeometry.html">TorusGeometry</a></li>
+						<li><a href="TorusKnotGeometry.html">TorusKnotGeometry</a></li>
+						<li><a href="TubeGeometry.html">TubeGeometry</a></li>
+						<li><a href="WireframeGeometry.html">WireframeGeometry</a></li>
+					</ul>
+					<h3>Helpers</h3>
+					<ul>
+						<li><a href="ArrowHelper.html">ArrowHelper</a></li>
+						<li><a href="AxesHelper.html">AxesHelper</a></li>
+						<li><a href="Box3Helper.html">Box3Helper</a></li>
+						<li><a href="BoxHelper.html">BoxHelper</a></li>
+						<li><a href="CameraHelper.html">CameraHelper</a></li>
+						<li><a href="DirectionalLightHelper.html">DirectionalLightHelper</a></li>
+						<li><a href="GridHelper.html">GridHelper</a></li>
+						<li><a href="HemisphereLightHelper.html">HemisphereLightHelper</a></li>
+						<li><a href="PlaneHelper.html">PlaneHelper</a></li>
+						<li><a href="PointLightHelper.html">PointLightHelper</a></li>
+						<li><a href="PolarGridHelper.html">PolarGridHelper</a></li>
+						<li><a href="SkeletonHelper.html">SkeletonHelper</a></li>
+						<li><a href="SpotLightHelper.html">SpotLightHelper</a></li>
+					</ul>
+					<h3>Lights</h3>
+					<ul>
+						<li><a href="AmbientLight.html">AmbientLight</a></li>
+						<li><a href="DirectionalLight.html">DirectionalLight</a></li>
+						<li><a href="DirectionalLightShadow.html">DirectionalLightShadow</a></li>
+						<li><a href="HemisphereLight.html">HemisphereLight</a></li>
+						<li><a href="IESSpotLight.html">IESSpotLight</a></li>
+						<li><a href="Light.html">Light</a></li>
+						<li><a href="LightProbe.html">LightProbe</a></li>
+						<li><a href="LightShadow.html">LightShadow</a></li>
+						<li><a href="PointLight.html">PointLight</a></li>
+						<li><a href="PointLightShadow.html">PointLightShadow</a></li>
+						<li><a href="ProjectorLight.html">ProjectorLight</a></li>
+						<li><a href="RectAreaLight.html">RectAreaLight</a></li>
+						<li><a href="SpotLight.html">SpotLight</a></li>
+						<li><a href="SpotLightShadow.html">SpotLightShadow</a></li>
+					</ul>
+					<h3>Loaders</h3>
+					<ul>
+						<li><a href="AnimationLoader.html">AnimationLoader</a></li>
+						<li><a href="AudioLoader.html">AudioLoader</a></li>
+						<li><a href="BufferGeometryLoader.html">BufferGeometryLoader</a></li>
+						<li><a href="Cache.html">Cache</a></li>
+						<li><a href="CompressedTextureLoader.html">CompressedTextureLoader</a></li>
+						<li><a href="CubeTextureLoader.html">CubeTextureLoader</a></li>
+						<li><a href="DataTextureLoader.html">DataTextureLoader</a></li>
+						<li><a href="FileLoader.html">FileLoader</a></li>
+						<li><a href="ImageBitmapLoader.html">ImageBitmapLoader</a></li>
+						<li><a href="ImageLoader.html">ImageLoader</a></li>
+						<li><a href="Loader.html">Loader</a></li>
+						<li><a href="LoaderUtils.html">LoaderUtils</a></li>
+						<li><a href="LoadingManager.html">LoadingManager</a></li>
+						<li><a href="MaterialLoader.html">MaterialLoader</a></li>
+						<li><a href="NodeLoader.html">NodeLoader</a></li>
+						<li><a href="NodeMaterialLoader.html">NodeMaterialLoader</a></li>
+						<li><a href="NodeObjectLoader.html">NodeObjectLoader</a></li>
+						<li><a href="ObjectLoader.html">ObjectLoader</a></li>
+						<li><a href="TextureLoader.html">TextureLoader</a></li>
+					</ul>
+					<h3>Materials</h3>
+					<ul>
+						<li><a href="Line2NodeMaterial.html">Line2NodeMaterial</a></li>
+						<li><a href="LineBasicMaterial.html">LineBasicMaterial</a></li>
+						<li><a href="LineBasicNodeMaterial.html">LineBasicNodeMaterial</a></li>
+						<li><a href="LineDashedMaterial.html">LineDashedMaterial</a></li>
+						<li><a href="LineDashedNodeMaterial.html">LineDashedNodeMaterial</a></li>
+						<li><a href="Material.html">Material</a></li>
+						<li><a href="MeshBasicMaterial.html">MeshBasicMaterial</a></li>
+						<li><a href="MeshBasicNodeMaterial.html">MeshBasicNodeMaterial</a></li>
+						<li><a href="MeshDepthMaterial.html">MeshDepthMaterial</a></li>
+						<li><a href="MeshDistanceMaterial.html">MeshDistanceMaterial</a></li>
+						<li><a href="MeshLambertMaterial.html">MeshLambertMaterial</a></li>
+						<li><a href="MeshLambertNodeMaterial.html">MeshLambertNodeMaterial</a></li>
+						<li><a href="MeshMatcapMaterial.html">MeshMatcapMaterial</a></li>
+						<li><a href="MeshMatcapNodeMaterial.html">MeshMatcapNodeMaterial</a></li>
+						<li><a href="MeshNormalMaterial.html">MeshNormalMaterial</a></li>
+						<li><a href="MeshNormalNodeMaterial.html">MeshNormalNodeMaterial</a></li>
+						<li><a href="MeshPhongMaterial.html">MeshPhongMaterial</a></li>
+						<li><a href="MeshPhongNodeMaterial.html">MeshPhongNodeMaterial</a></li>
+						<li><a href="MeshPhysicalMaterial.html">MeshPhysicalMaterial</a></li>
+						<li><a href="MeshPhysicalNodeMaterial.html">MeshPhysicalNodeMaterial</a></li>
+						<li><a href="MeshSSSNodeMaterial.html">MeshSSSNodeMaterial</a></li>
+						<li><a href="MeshStandardMaterial.html">MeshStandardMaterial</a></li>
+						<li><a href="MeshStandardNodeMaterial.html">MeshStandardNodeMaterial</a></li>
+						<li><a href="MeshToonMaterial.html">MeshToonMaterial</a></li>
+						<li><a href="MeshToonNodeMaterial.html">MeshToonNodeMaterial</a></li>
+						<li><a href="NodeMaterial.html">NodeMaterial</a></li>
+						<li><a href="NodeMaterialObserver.html">NodeMaterialObserver</a></li>
+						<li><a href="PointsMaterial.html">PointsMaterial</a></li>
+						<li><a href="PointsNodeMaterial.html">PointsNodeMaterial</a></li>
+						<li><a href="RawShaderMaterial.html">RawShaderMaterial</a></li>
+						<li><a href="SSSLightingModel.html">SSSLightingModel</a></li>
+						<li><a href="ShaderMaterial.html">ShaderMaterial</a></li>
+						<li><a href="ShadowMaterial.html">ShadowMaterial</a></li>
+						<li><a href="ShadowNodeMaterial.html">ShadowNodeMaterial</a></li>
+						<li><a href="SpriteMaterial.html">SpriteMaterial</a></li>
+						<li><a href="SpriteNodeMaterial.html">SpriteNodeMaterial</a></li>
+						<li><a href="VolumeNodeMaterial.html">VolumeNodeMaterial</a></li>
+					</ul>
+					<h3>Math</h3>
+					<ul>
+						<li><a href="Box2.html">Box2</a></li>
+						<li><a href="Box3.html">Box3</a></li>
+						<li><a href="Color.html">Color</a></li>
+						<li><a href="CubicInterpolant.html">CubicInterpolant</a></li>
+						<li><a href="Cylindrical.html">Cylindrical</a></li>
+						<li><a href="DiscreteInterpolant.html">DiscreteInterpolant</a></li>
+						<li><a href="Euler.html">Euler</a></li>
+						<li><a href="Frustum.html">Frustum</a></li>
+						<li><a href="FrustumArray.html">FrustumArray</a></li>
+						<li><a href="Interpolant.html">Interpolant</a></li>
+						<li><a href="Line3.html">Line3</a></li>
+						<li><a href="LinearInterpolant.html">LinearInterpolant</a></li>
+						<li><a href="MathUtils.html">MathUtils</a></li>
+						<li><a href="Matrix2.html">Matrix2</a></li>
+						<li><a href="Matrix3.html">Matrix3</a></li>
+						<li><a href="Matrix4.html">Matrix4</a></li>
+						<li><a href="Plane.html">Plane</a></li>
+						<li><a href="Quaternion.html">Quaternion</a></li>
+						<li><a href="QuaternionLinearInterpolant.html">QuaternionLinearInterpolant</a></li>
+						<li><a href="Ray.html">Ray</a></li>
+						<li><a href="Sphere.html">Sphere</a></li>
+						<li><a href="Spherical.html">Spherical</a></li>
+						<li><a href="SphericalHarmonics3.html">SphericalHarmonics3</a></li>
+						<li><a href="Triangle.html">Triangle</a></li>
+						<li><a href="Vector2.html">Vector2</a></li>
+						<li><a href="Vector3.html">Vector3</a></li>
+						<li><a href="Vector4.html">Vector4</a></li>
+					</ul>
+					<h3>Nodes</h3>
+					<ul>
+						<li><a href="AONode.html">AONode</a></li>
+						<li><a href="AmbientLightNode.html">AmbientLightNode</a></li>
+						<li><a href="AnalyticLightNode.html">AnalyticLightNode</a></li>
+						<li><a href="ArrayElementNode.html">ArrayElementNode</a></li>
+						<li><a href="ArrayNode.html">ArrayNode</a></li>
+						<li><a href="AssignNode.html">AssignNode</a></li>
+						<li><a href="AtomicFunctionNode.html">AtomicFunctionNode</a></li>
+						<li><a href="AttributeNode.html">AttributeNode</a></li>
+						<li><a href="BarrierNode.html">BarrierNode</a></li>
+						<li><a href="BasicEnvironmentNode.html">BasicEnvironmentNode</a></li>
+						<li><a href="BasicLightMapNode.html">BasicLightMapNode</a></li>
+						<li><a href="BasicLightingModel.html">BasicLightingModel</a></li>
+						<li><a href="BatchNode.html">BatchNode</a></li>
+						<li><a href="BitcastNode.html">BitcastNode</a></li>
+						<li><a href="BufferAttributeNode.html">BufferAttributeNode</a></li>
+						<li><a href="BufferNode.html">BufferNode</a></li>
+						<li><a href="BuiltinNode.html">BuiltinNode</a></li>
+						<li><a href="BumpMapNode.html">BumpMapNode</a></li>
+						<li><a href="BypassNode.html">BypassNode</a></li>
+						<li><a href="ClippingNode.html">ClippingNode</a></li>
+						<li><a href="CodeNode.html">CodeNode</a></li>
+						<li><a href="ColorSpaceNode.html">ColorSpaceNode</a></li>
+						<li><a href="ComputeBuiltinNode.html">ComputeBuiltinNode</a></li>
+						<li><a href="ComputeNode.html">ComputeNode</a></li>
+						<li><a href="ConditionalNode.html">ConditionalNode</a></li>
+						<li><a href="ConstNode.html">ConstNode</a></li>
+						<li><a href="ContextNode.html">ContextNode</a></li>
+						<li><a href="ConvertNode.html">ConvertNode</a></li>
+						<li><a href="CubeMapNode.html">CubeMapNode</a></li>
+						<li><a href="CubeTextureNode.html">CubeTextureNode</a></li>
+						<li><a href="DirectionalLightNode.html">DirectionalLightNode</a></li>
+						<li><a href="EnvironmentNode.html">EnvironmentNode</a></li>
+						<li><a href="EventNode.html">EventNode</a></li>
+						<li><a href="ExpressionNode.html">ExpressionNode</a></li>
+						<li><a href="FlipNode.html">FlipNode</a></li>
+						<li><a href="FrontFacingNode.html">FrontFacingNode</a></li>
+						<li><a href="FunctionCallNode.html">FunctionCallNode</a></li>
+						<li><a href="FunctionNode.html">FunctionNode</a></li>
+						<li><a href="FunctionOverloadingNode.html">FunctionOverloadingNode</a></li>
+						<li><a href="GLSLNodeFunction.html">GLSLNodeFunction</a></li>
+						<li><a href="GLSLNodeParser.html">GLSLNodeParser</a></li>
+						<li><a href="HemisphereLightNode.html">HemisphereLightNode</a></li>
+						<li><a href="IESSpotLightNode.html">IESSpotLightNode</a></li>
+						<li><a href="IndexNode.html">IndexNode</a></li>
+						<li><a href="InputNode.html">InputNode</a></li>
+						<li><a href="InspectorNode.html">InspectorNode</a></li>
+						<li><a href="InstanceNode.html">InstanceNode</a></li>
+						<li><a href="InstancedMeshNode.html">InstancedMeshNode</a></li>
+						<li><a href="IrradianceNode.html">IrradianceNode</a></li>
+						<li><a href="IsolateNode.html">IsolateNode</a></li>
+						<li><a href="JoinNode.html">JoinNode</a></li>
+						<li><a href="LightProbeNode.html">LightProbeNode</a></li>
+						<li><a href="LightingContextNode.html">LightingContextNode</a></li>
+						<li><a href="LightingModel.html">LightingModel</a></li>
+						<li><a href="LightingNode.html">LightingNode</a></li>
+						<li><a href="LightsNode.html">LightsNode</a></li>
+						<li><a href="LoopNode.html">LoopNode</a></li>
+						<li><a href="MRTNode.html">MRTNode</a></li>
+						<li><a href="MaterialNode.html">MaterialNode</a></li>
+						<li><a href="MaterialReferenceNode.html">MaterialReferenceNode</a></li>
+						<li><a href="MathNode.html">MathNode</a></li>
+						<li><a href="MaxMipLevelNode.html">MaxMipLevelNode</a></li>
+						<li><a href="MemberNode.html">MemberNode</a></li>
+						<li><a href="ModelNode.html">ModelNode</a></li>
+						<li><a href="MorphNode.html">MorphNode</a></li>
+						<li><a href="Node.html">Node</a></li>
+						<li><a href="NodeAttribute.html">NodeAttribute</a></li>
+						<li><a href="NodeBuilder.html">NodeBuilder</a></li>
+						<li><a href="NodeCache.html">NodeCache</a></li>
+						<li><a href="NodeCode.html">NodeCode</a></li>
+						<li><a href="NodeFrame.html">NodeFrame</a></li>
+						<li><a href="NodeFunction.html">NodeFunction</a></li>
+						<li><a href="NodeFunctionInput.html">NodeFunctionInput</a></li>
+						<li><a href="NodeParser.html">NodeParser</a></li>
+						<li><a href="NodeUniform.html">NodeUniform</a></li>
+						<li><a href="NodeVar.html">NodeVar</a></li>
+						<li><a href="NodeVarying.html">NodeVarying</a></li>
+						<li><a href="NormalMapNode.html">NormalMapNode</a></li>
+						<li><a href="Object3DNode.html">Object3DNode</a></li>
+						<li><a href="OperatorNode.html">OperatorNode</a></li>
+						<li><a href="OutputStructNode.html">OutputStructNode</a></li>
+						<li><a href="PMREMNode.html">PMREMNode</a></li>
+						<li><a href="ParameterNode.html">ParameterNode</a></li>
+						<li><a href="PassMultipleTextureNode.html">PassMultipleTextureNode</a></li>
+						<li><a href="PassNode.html">PassNode</a></li>
+						<li><a href="PassTextureNode.html">PassTextureNode</a></li>
+						<li><a href="PhongLightingModel.html">PhongLightingModel</a></li>
+						<li><a href="PhysicalLightingModel.html">PhysicalLightingModel</a></li>
+						<li><a href="PointLightNode.html">PointLightNode</a></li>
+						<li><a href="PointShadowNode.html">PointShadowNode</a></li>
+						<li><a href="PointUVNode.html">PointUVNode</a></li>
+						<li><a href="PosterizeNode.html">PosterizeNode</a></li>
+						<li><a href="ProjectorLightNode.html">ProjectorLightNode</a></li>
+						<li><a href="PropertyNode.html">PropertyNode</a></li>
+						<li><a href="RTTNode.html">RTTNode</a></li>
+						<li><a href="RangeNode.html">RangeNode</a></li>
+						<li><a href="RectAreaLightNode.html">RectAreaLightNode</a></li>
+						<li><a href="ReferenceBaseNode.html">ReferenceBaseNode</a></li>
+						<li><a href="ReferenceElementNode.html">ReferenceElementNode</a></li>
+						<li><a href="ReferenceNode.html">ReferenceNode</a></li>
+						<li><a href="ReflectorNode.html">ReflectorNode</a></li>
+						<li><a href="RemapNode.html">RemapNode</a></li>
+						<li><a href="RenderOutputNode.html">RenderOutputNode</a></li>
+						<li><a href="RendererReferenceNode.html">RendererReferenceNode</a></li>
+						<li><a href="Resources.html">Resources</a></li>
+						<li><a href="RotateNode.html">RotateNode</a></li>
+						<li><a href="SampleNode.html">SampleNode</a></li>
+						<li><a href="SceneNode.html">SceneNode</a></li>
+						<li><a href="ScreenNode.html">ScreenNode</a></li>
+						<li><a href="ScriptableNode.html">ScriptableNode</a></li>
+						<li><a href="ScriptableValueNode.html">ScriptableValueNode</a></li>
+						<li><a href="SetNode.html">SetNode</a></li>
+						<li><a href="ShadowBaseNode.html">ShadowBaseNode</a></li>
+						<li><a href="ShadowMaskModel.html">ShadowMaskModel</a></li>
+						<li><a href="ShadowNode.html">ShadowNode</a></li>
+						<li><a href="SkinningNode.html">SkinningNode</a></li>
+						<li><a href="SplitNode.html">SplitNode</a></li>
+						<li><a href="SpotLightNode.html">SpotLightNode</a></li>
+						<li><a href="SpriteSheetUVNode.html">SpriteSheetUVNode</a></li>
+						<li><a href="StackNode.html">StackNode</a></li>
+						<li><a href="StorageArrayElementNode.html">StorageArrayElementNode</a></li>
+						<li><a href="StorageBufferNode.html">StorageBufferNode</a></li>
+						<li><a href="StorageTextureNode.html">StorageTextureNode</a></li>
+						<li><a href="StructNode.html">StructNode</a></li>
+						<li><a href="StructTypeNode.html">StructTypeNode</a></li>
+						<li><a href="SubBuildNode.html">SubBuildNode</a></li>
+						<li><a href="SubgroupFunctionNode.html">SubgroupFunctionNode</a></li>
+						<li><a href="TempNode.html">TempNode</a></li>
+						<li><a href="Texture3DNode.html">Texture3DNode</a></li>
+						<li><a href="TextureNode.html">TextureNode</a></li>
+						<li><a href="TextureSizeNode.html">TextureSizeNode</a></li>
+						<li><a href="ToneMappingNode.html">ToneMappingNode</a></li>
+						<li><a href="ToonLightingModel.html">ToonLightingModel</a></li>
+						<li><a href="ToonOutlinePassNode.html">ToonOutlinePassNode</a></li>
+						<li><a href="UniformArrayElementNode.html">UniformArrayElementNode</a></li>
+						<li><a href="UniformArrayNode.html">UniformArrayNode</a></li>
+						<li><a href="UniformGroupNode.html">UniformGroupNode</a></li>
+						<li><a href="UniformNode.html">UniformNode</a></li>
+						<li><a href="UserDataNode.html">UserDataNode</a></li>
+						<li><a href="VarNode.html">VarNode</a></li>
+						<li><a href="VaryingNode.html">VaryingNode</a></li>
+						<li><a href="VelocityNode.html">VelocityNode</a></li>
+						<li><a href="VertexColorNode.html">VertexColorNode</a></li>
+						<li><a href="ViewportDepthNode.html">ViewportDepthNode</a></li>
+						<li><a href="ViewportDepthTextureNode.html">ViewportDepthTextureNode</a></li>
+						<li><a href="ViewportSharedTextureNode.html">ViewportSharedTextureNode</a></li>
+						<li><a href="ViewportTextureNode.html">ViewportTextureNode</a></li>
+						<li><a href="VolumetricLightingModel.html">VolumetricLightingModel</a></li>
+						<li><a href="WorkgroupInfoElementNode.html">WorkgroupInfoElementNode</a></li>
+						<li><a href="WorkgroupInfoNode.html">WorkgroupInfoNode</a></li>
+					</ul>
+					<h3>Objects</h3>
+					<ul>
+						<li><a href="BatchedMesh.html">BatchedMesh</a></li>
+						<li><a href="Bone.html">Bone</a></li>
+						<li><a href="ClippingGroup.html">ClippingGroup</a></li>
+						<li><a href="Group.html">Group</a></li>
+						<li><a href="InstancedMesh.html">InstancedMesh</a></li>
+						<li><a href="LOD.html">LOD</a></li>
+						<li><a href="Line.html">Line</a></li>
+						<li><a href="LineLoop.html">LineLoop</a></li>
+						<li><a href="LineSegments.html">LineSegments</a></li>
+						<li><a href="Mesh.html">Mesh</a></li>
+						<li><a href="Points.html">Points</a></li>
+						<li><a href="Skeleton.html">Skeleton</a></li>
+						<li><a href="SkinnedMesh.html">SkinnedMesh</a></li>
+						<li><a href="Sprite.html">Sprite</a></li>
+					</ul>
+					<h3>Renderers</h3>
+					<ul>
+						<li><a href="BundleGroup.html">BundleGroup</a></li>
+						<li><a href="CanvasTarget.html">CanvasTarget</a></li>
+						<li><a href="CubeRenderTarget.html">CubeRenderTarget</a></li>
+						<li><a href="GLSLNodeBuilder.html">GLSLNodeBuilder</a></li>
+						<li><a href="IndirectStorageBufferAttribute.html">IndirectStorageBufferAttribute</a></li>
+						<li><a href="Info.html">Info</a></li>
+						<li><a href="InspectorBase.html">InspectorBase</a></li>
+						<li><a href="PostProcessing.html">PostProcessing</a></li>
+						<li><a href="QuadMesh.html">QuadMesh</a></li>
+						<li><a href="Renderer.html">Renderer</a></li>
+						<li><a href="Storage3DTexture.html">Storage3DTexture</a></li>
+						<li><a href="StorageArrayTexture.html">StorageArrayTexture</a></li>
+						<li><a href="StorageBufferAttribute.html">StorageBufferAttribute</a></li>
+						<li><a href="StorageInstancedBufferAttribute.html">StorageInstancedBufferAttribute</a></li>
+						<li><a href="StorageTexture.html">StorageTexture</a></li>
+						<li><a href="TimestampQueryPool.html">TimestampQueryPool</a></li>
+						<li><a href="WGSLNodeBuilder.html">WGSLNodeBuilder</a></li>
+						<li><a href="WGSLNodeFunction.html">WGSLNodeFunction</a></li>
+						<li><a href="WGSLNodeParser.html">WGSLNodeParser</a></li>
+						<li><a href="WebGL3DRenderTarget.html">WebGL3DRenderTarget</a></li>
+						<li><a href="WebGLArrayRenderTarget.html">WebGLArrayRenderTarget</a></li>
+						<li><a href="WebGLCubeRenderTarget.html">WebGLCubeRenderTarget</a></li>
+						<li><a href="WebGLRenderTarget.html">WebGLRenderTarget</a></li>
+						<li><a href="WebGLRenderer.html">WebGLRenderer</a></li>
+						<li><a href="WebGLTimestampQueryPool.html">WebGLTimestampQueryPool</a></li>
+						<li><a href="WebGPURenderer.html">WebGPURenderer</a></li>
+						<li><a href="WebGPUTimestampQueryPool.html">WebGPUTimestampQueryPool</a></li>
+						<li><a href="WebXRDepthSensing.html">WebXRDepthSensing</a></li>
+						<li><a href="WebXRManager.html">WebXRManager</a></li>
+						<li><a href="XRManager.html">XRManager</a></li>
+						<li><a href="module-UniformsUtils.html">UniformsUtils</a></li>
+					</ul>
+					<h3>Scenes</h3>
+					<ul>
+						<li><a href="Fog.html">Fog</a></li>
+						<li><a href="FogExp2.html">FogExp2</a></li>
+						<li><a href="Scene.html">Scene</a></li>
+					</ul>
+					<h3>Textures</h3>
+					<ul>
+						<li><a href="CanvasTexture.html">CanvasTexture</a></li>
+						<li><a href="CompressedArrayTexture.html">CompressedArrayTexture</a></li>
+						<li><a href="CompressedCubeTexture.html">CompressedCubeTexture</a></li>
+						<li><a href="CompressedTexture.html">CompressedTexture</a></li>
+						<li><a href="CubeTexture.html">CubeTexture</a></li>
+						<li><a href="Data3DTexture.html">Data3DTexture</a></li>
+						<li><a href="DataArrayTexture.html">DataArrayTexture</a></li>
+						<li><a href="DataTexture.html">DataTexture</a></li>
+						<li><a href="DepthTexture.html">DepthTexture</a></li>
+						<li><a href="ExternalTexture.html">ExternalTexture</a></li>
+						<li><a href="FramebufferTexture.html">FramebufferTexture</a></li>
+						<li><a href="Source.html">Source</a></li>
+						<li><a href="Texture.html">Texture</a></li>
+						<li><a href="VideoFrameTexture.html">VideoFrameTexture</a></li>
+						<li><a href="VideoTexture.html">VideoTexture</a></li>
+					</ul>
+					<h2>Addons</h2>
+					<h3>Animation</h3>
+					<ul>
+						<li><a href="AnimationClipCreator.html">AnimationClipCreator</a></li>
+						<li><a href="CCDIKHelper.html">CCDIKHelper</a></li>
+						<li><a href="CCDIKSolver.html">CCDIKSolver</a></li>
+					</ul>
+					<h3>Capabilities</h3>
+					<ul>
+						<li><a href="WebGL.html">WebGL</a></li>
+						<li><a href="WebGPU.html">WebGPU</a></li>
+					</ul>
+					<h3>Controls</h3>
+					<ul>
+						<li><a href="ArcballControls.html">ArcballControls</a></li>
+						<li><a href="DragControls.html">DragControls</a></li>
+						<li><a href="FirstPersonControls.html">FirstPersonControls</a></li>
+						<li><a href="FlyControls.html">FlyControls</a></li>
+						<li><a href="MapControls.html">MapControls</a></li>
+						<li><a href="OrbitControls.html">OrbitControls</a></li>
+						<li><a href="PointerLockControls.html">PointerLockControls</a></li>
+						<li><a href="TrackballControls.html">TrackballControls</a></li>
+						<li><a href="TransformControls.html">TransformControls</a></li>
+					</ul>
+					<h3>Csm</h3>
+					<ul>
+						<li><a href="CSM.html">CSM</a></li>
+						<li><a href="CSMFrustum.html">CSMFrustum</a></li>
+						<li><a href="CSMHelper.html">CSMHelper</a></li>
+						<li><a href="CSMShadowNode.html">CSMShadowNode</a></li>
+						<li><a href="module-CSMShader.html">CSMShader</a></li>
+					</ul>
+					<h3>Curves</h3>
+					<ul>
+						<li><a href="CinquefoilKnot.html">CinquefoilKnot</a></li>
+						<li><a href="DecoratedTorusKnot4a.html">DecoratedTorusKnot4a</a></li>
+						<li><a href="DecoratedTorusKnot4b.html">DecoratedTorusKnot4b</a></li>
+						<li><a href="DecoratedTorusKnot5a.html">DecoratedTorusKnot5a</a></li>
+						<li><a href="DecoratedTorusKnot5c.html">DecoratedTorusKnot5c</a></li>
+						<li><a href="FigureEightPolynomialKnot.html">FigureEightPolynomialKnot</a></li>
+						<li><a href="GrannyKnot.html">GrannyKnot</a></li>
+						<li><a href="HeartCurve.html">HeartCurve</a></li>
+						<li><a href="HelixCurve.html">HelixCurve</a></li>
+						<li><a href="KnotCurve.html">KnotCurve</a></li>
+						<li><a href="NURBSCurve.html">NURBSCurve</a></li>
+						<li><a href="NURBSSurface.html">NURBSSurface</a></li>
+						<li><a href="NURBSVolume.html">NURBSVolume</a></li>
+						<li><a href="TorusKnot.html">TorusKnot</a></li>
+						<li><a href="TrefoilKnot.html">TrefoilKnot</a></li>
+						<li><a href="TrefoilPolynomialKnot.html">TrefoilPolynomialKnot</a></li>
+						<li><a href="VivianiCurve.html">VivianiCurve</a></li>
+						<li><a href="module-NURBSUtils.html">NURBSUtils</a></li>
+					</ul>
+					<h3>Effects</h3>
+					<ul>
+						<li><a href="AnaglyphEffect.html">AnaglyphEffect</a></li>
+						<li><a href="AsciiEffect.html">AsciiEffect</a></li>
+						<li><a href="OutlineEffect.html">OutlineEffect</a></li>
+						<li><a href="ParallaxBarrierEffect.html">ParallaxBarrierEffect</a></li>
+						<li><a href="StereoEffect.html">StereoEffect</a></li>
+					</ul>
+					<h3>Environments</h3>
+					<ul>
+						<li><a href="DebugEnvironment.html">DebugEnvironment</a></li>
+						<li><a href="RoomEnvironment.html">RoomEnvironment</a></li>
+					</ul>
+					<h3>Exporters</h3>
+					<ul>
+						<li><a href="DRACOExporter.html">DRACOExporter</a></li>
+						<li><a href="EXRExporter.html">EXRExporter</a></li>
+						<li><a href="GLTFExporter.html">GLTFExporter</a></li>
+						<li><a href="KTX2Exporter.html">KTX2Exporter</a></li>
+						<li><a href="OBJExporter.html">OBJExporter</a></li>
+						<li><a href="PLYExporter.html">PLYExporter</a></li>
+						<li><a href="STLExporter.html">STLExporter</a></li>
+						<li><a href="USDZExporter.html">USDZExporter</a></li>
+					</ul>
+					<h3>Geometries</h3>
+					<ul>
+						<li><a href="BoxLineGeometry.html">BoxLineGeometry</a></li>
+						<li><a href="ConvexGeometry.html">ConvexGeometry</a></li>
+						<li><a href="DecalGeometry.html">DecalGeometry</a></li>
+						<li><a href="ParametricGeometry.html">ParametricGeometry</a></li>
+						<li><a href="RoundedBoxGeometry.html">RoundedBoxGeometry</a></li>
+						<li><a href="TeapotGeometry.html">TeapotGeometry</a></li>
+						<li><a href="TextGeometry.html">TextGeometry</a></li>
+						<li><a href="module-ParametricFunctions.html">ParametricFunctions</a></li>
+					</ul>
+					<h3>Gpgpu</h3>
+					<ul>
+						<li><a href="BitonicSort_BitonicSort.html">BitonicSort</a></li>
+					</ul>
+					<h3>Helpers</h3>
+					<ul>
+						<li><a href="LightProbeHelper.html">LightProbeHelper</a></li>
+						<li><a href="OctreeHelper.html">OctreeHelper</a></li>
+						<li><a href="PositionalAudioHelper.html">PositionalAudioHelper</a></li>
+						<li><a href="RapierHelper.html">RapierHelper</a></li>
+						<li><a href="RectAreaLightHelper.html">RectAreaLightHelper</a></li>
+						<li><a href="TextureHelper.html">TextureHelper</a></li>
+						<li><a href="VertexNormalsHelper.html">VertexNormalsHelper</a></li>
+						<li><a href="VertexTangentsHelper.html">VertexTangentsHelper</a></li>
+						<li><a href="ViewHelper.html">ViewHelper</a></li>
+					</ul>
+					<h3>Interactive</h3>
+					<ul>
+						<li><a href="HTMLMesh.html">HTMLMesh</a></li>
+						<li><a href="InteractiveGroup.html">InteractiveGroup</a></li>
+						<li><a href="SelectionBox.html">SelectionBox</a></li>
+						<li><a href="SelectionHelper.html">SelectionHelper</a></li>
+					</ul>
+					<h3>Lighting</h3>
+					<ul>
+						<li><a href="TiledLighting.html">TiledLighting</a></li>
+					</ul>
+					<h3>Lights</h3>
+					<ul>
+						<li><a href="LightProbeGenerator.html">LightProbeGenerator</a></li>
+						<li><a href="RectAreaLightTexturesLib.html">RectAreaLightTexturesLib</a></li>
+						<li><a href="RectAreaLightUniformsLib.html">RectAreaLightUniformsLib</a></li>
+					</ul>
+					<h3>Lines</h3>
+					<ul>
+						<li><a href="Line2.html">Line2</a></li>
+						<li><a href="LineGeometry.html">LineGeometry</a></li>
+						<li><a href="LineMaterial.html">LineMaterial</a></li>
+						<li><a href="LineSegments2.html">LineSegments2</a></li>
+						<li><a href="LineSegmentsGeometry.html">LineSegmentsGeometry</a></li>
+						<li><a href="Wireframe.html">Wireframe</a></li>
+						<li><a href="WireframeGeometry2.html">WireframeGeometry2</a></li>
+					</ul>
+					<h3>Loaders</h3>
+					<ul>
+						<li><a href="AMFLoader.html">AMFLoader</a></li>
+						<li><a href="BVHLoader.html">BVHLoader</a></li>
+						<li><a href="ColladaLoader.html">ColladaLoader</a></li>
+						<li><a href="DDSLoader.html">DDSLoader</a></li>
+						<li><a href="DRACOLoader.html">DRACOLoader</a></li>
+						<li><a href="EXRLoader.html">EXRLoader</a></li>
+						<li><a href="FBXLoader.html">FBXLoader</a></li>
+						<li><a href="Font.html">Font</a></li>
+						<li><a href="FontLoader.html">FontLoader</a></li>
+						<li><a href="GCodeLoader.html">GCodeLoader</a></li>
+						<li><a href="GLTFLoader.html">GLTFLoader</a></li>
+						<li><a href="HDRCubeTextureLoader.html">HDRCubeTextureLoader</a></li>
+						<li><a href="HDRLoader.html">HDRLoader</a></li>
+						<li><a href="IESLoader.html">IESLoader</a></li>
+						<li><a href="KMZLoader.html">KMZLoader</a></li>
+						<li><a href="KTX2Loader.html">KTX2Loader</a></li>
+						<li><a href="KTXLoader.html">KTXLoader</a></li>
+						<li><a href="LDrawLoader.html">LDrawLoader</a></li>
+						<li><a href="LUT3dlLoader.html">LUT3dlLoader</a></li>
+						<li><a href="LUTCubeLoader.html">LUTCubeLoader</a></li>
+						<li><a href="LUTImageLoader.html">LUTImageLoader</a></li>
+						<li><a href="LWOLoader.html">LWOLoader</a></li>
+						<li><a href="LottieLoader.html">LottieLoader</a></li>
+						<li><a href="MD2Loader.html">MD2Loader</a></li>
+						<li><a href="MDDLoader.html">MDDLoader</a></li>
+						<li><a href="MTLLoader.html">MTLLoader</a></li>
+						<li><a href="MaterialXLoader.html">MaterialXLoader</a></li>
+						<li><a href="NRRDLoader.html">NRRDLoader</a></li>
+						<li><a href="OBJLoader.html">OBJLoader</a></li>
+						<li><a href="PCDLoader.html">PCDLoader</a></li>
+						<li><a href="PDBLoader.html">PDBLoader</a></li>
+						<li><a href="PLYLoader.html">PLYLoader</a></li>
+						<li><a href="PVRLoader.html">PVRLoader</a></li>
+						<li><a href="Rhino3dmLoader.html">Rhino3dmLoader</a></li>
+						<li><a href="STLLoader.html">STLLoader</a></li>
+						<li><a href="SVGLoader.html">SVGLoader</a></li>
+						<li><a href="TDSLoader.html">TDSLoader</a></li>
+						<li><a href="TGALoader.html">TGALoader</a></li>
+						<li><a href="TIFFLoader.html">TIFFLoader</a></li>
+						<li><a href="TTFLoader.html">TTFLoader</a></li>
+						<li><a href="ThreeMFLoader.html">ThreeMFLoader</a></li>
+						<li><a href="USDLoader.html">USDLoader</a></li>
+						<li><a href="UltraHDRLoader.html">UltraHDRLoader</a></li>
+						<li><a href="VOXData3DTexture.html">VOXData3DTexture</a></li>
+						<li><a href="VOXLoader.html">VOXLoader</a></li>
+						<li><a href="VOXMesh.html">VOXMesh</a></li>
+						<li><a href="VRMLLoader.html">VRMLLoader</a></li>
+						<li><a href="VTKLoader.html">VTKLoader</a></li>
+						<li><a href="XYZLoader.html">XYZLoader</a></li>
+					</ul>
+					<h3>Materials</h3>
+					<ul>
+						<li><a href="LDrawConditionalLineMaterial.html">LDrawConditionalLineMaterial</a></li>
+						<li><a href="MeshPostProcessingMaterial.html">MeshPostProcessingMaterial</a></li>
+						<li><a href="WoodNodeMaterial.html">WoodNodeMaterial</a></li>
+					</ul>
+					<h3>Math</h3>
+					<ul>
+						<li><a href="Capsule.html">Capsule</a></li>
+						<li><a href="ColorConverter.html">ColorConverter</a></li>
+						<li><a href="ConvexHull.html">ConvexHull</a></li>
+						<li><a href="ImprovedNoise.html">ImprovedNoise</a></li>
+						<li><a href="Lut.html">Lut</a></li>
+						<li><a href="MeshSurfaceSampler.html">MeshSurfaceSampler</a></li>
+						<li><a href="OBB.html">OBB</a></li>
+						<li><a href="Octree.html">Octree</a></li>
+						<li><a href="SimplexNoise.html">SimplexNoise</a></li>
+						<li><a href="module-ColorSpaces.html">ColorSpaces</a></li>
+					</ul>
+					<h3>Misc</h3>
+					<ul>
+						<li><a href="ConvexObjectBreaker.html">ConvexObjectBreaker</a></li>
+						<li><a href="GPUComputationRenderer.html">GPUComputationRenderer</a></li>
+						<li><a href="Gyroscope.html">Gyroscope</a></li>
+						<li><a href="MD2Character.html">MD2Character</a></li>
+						<li><a href="MD2CharacterComplex.html">MD2CharacterComplex</a></li>
+						<li><a href="MorphAnimMesh.html">MorphAnimMesh</a></li>
+						<li><a href="MorphBlendMesh.html">MorphBlendMesh</a></li>
+						<li><a href="ProgressiveLightMap.html">ProgressiveLightMap</a></li>
+						<li><a href="RollerCoasterGeometry.html">RollerCoasterGeometry</a></li>
+						<li><a href="RollerCoasterLiftersGeometry.html">RollerCoasterLiftersGeometry</a></li>
+						<li><a href="RollerCoasterShadowGeometry.html">RollerCoasterShadowGeometry</a></li>
+						<li><a href="SkyGeometry.html">SkyGeometry</a></li>
+						<li><a href="TreesGeometry.html">TreesGeometry</a></li>
+						<li><a href="TubePainter.html">TubePainter</a></li>
+						<li><a href="Volume.html">Volume</a></li>
+						<li><a href="VolumeSlice.html">VolumeSlice</a></li>
+					</ul>
+					<h3>Modifiers</h3>
+					<ul>
+						<li><a href="EdgeSplitModifier.html">EdgeSplitModifier</a></li>
+						<li><a href="Flow.html">Flow</a></li>
+						<li><a href="InstancedFlow.html">InstancedFlow</a></li>
+						<li><a href="SimplifyModifier.html">SimplifyModifier</a></li>
+						<li><a href="TessellateModifier.html">TessellateModifier</a></li>
+					</ul>
+					<h3>Objects</h3>
+					<ul>
+						<li><a href="GroundedSkybox.html">GroundedSkybox</a></li>
+						<li><a href="Lensflare.html">Lensflare</a></li>
+						<li><a href="LensflareElement.html">LensflareElement</a></li>
+						<li><a href="LensflareMesh.html">LensflareMesh</a></li>
+						<li><a href="MarchingCubes.html">MarchingCubes</a></li>
+						<li><a href="Reflector.html">Reflector</a></li>
+						<li><a href="ReflectorForSSRPass.html">ReflectorForSSRPass</a></li>
+						<li><a href="Refractor.html">Refractor</a></li>
+						<li><a href="ShadowMesh.html">ShadowMesh</a></li>
+						<li><a href="Sky.html">Sky</a></li>
+						<li><a href="SkyMesh.html">SkyMesh</a></li>
+						<li><a href="Water.html">Water</a></li>
+						<li><a href="WaterMesh.html">WaterMesh</a></li>
+					</ul>
+					<h3>Physics</h3>
+					<ul>
+						<li><a href="AmmoPhysics.html">AmmoPhysics</a></li>
+						<li><a href="JoltPhysics.html">JoltPhysics</a></li>
+						<li><a href="RapierPhysics.html">RapierPhysics</a></li>
+					</ul>
+					<h3>Postprocessing</h3>
+					<ul>
+						<li><a href="AfterimagePass.html">AfterimagePass</a></li>
+						<li><a href="BloomPass.html">BloomPass</a></li>
+						<li><a href="BokehPass.html">BokehPass</a></li>
+						<li><a href="ClearMaskPass.html">ClearMaskPass</a></li>
+						<li><a href="ClearPass.html">ClearPass</a></li>
+						<li><a href="CubeTexturePass.html">CubeTexturePass</a></li>
+						<li><a href="DotScreenPass.html">DotScreenPass</a></li>
+						<li><a href="EffectComposer.html">EffectComposer</a></li>
+						<li><a href="FXAAPass.html">FXAAPass</a></li>
+						<li><a href="FilmPass.html">FilmPass</a></li>
+						<li><a href="FullScreenQuad.html">FullScreenQuad</a></li>
+						<li><a href="GTAOPass.html">GTAOPass</a></li>
+						<li><a href="GlitchPass.html">GlitchPass</a></li>
+						<li><a href="HalftonePass.html">HalftonePass</a></li>
+						<li><a href="LUTPass.html">LUTPass</a></li>
+						<li><a href="MaskPass.html">MaskPass</a></li>
+						<li><a href="OutlinePass.html">OutlinePass</a></li>
+						<li><a href="OutputPass.html">OutputPass</a></li>
+						<li><a href="Pass.html">Pass</a></li>
+						<li><a href="RenderPass.html">RenderPass</a></li>
+						<li><a href="RenderPixelatedPass.html">RenderPixelatedPass</a></li>
+						<li><a href="RenderTransitionPass.html">RenderTransitionPass</a></li>
+						<li><a href="SAOPass.html">SAOPass</a></li>
+						<li><a href="SMAAPass.html">SMAAPass</a></li>
+						<li><a href="SSAARenderPass.html">SSAARenderPass</a></li>
+						<li><a href="SSAOPass.html">SSAOPass</a></li>
+						<li><a href="SSRPass.html">SSRPass</a></li>
+						<li><a href="SavePass.html">SavePass</a></li>
+						<li><a href="ShaderPass.html">ShaderPass</a></li>
+						<li><a href="TAARenderPass.html">TAARenderPass</a></li>
+						<li><a href="TexturePass.html">TexturePass</a></li>
+						<li><a href="UnrealBloomPass.html">UnrealBloomPass</a></li>
+					</ul>
+					<h3>Renderers</h3>
+					<ul>
+						<li><a href="CSS2DObject.html">CSS2DObject</a></li>
+						<li><a href="CSS2DRenderer.html">CSS2DRenderer</a></li>
+						<li><a href="CSS3DObject.html">CSS3DObject</a></li>
+						<li><a href="CSS3DRenderer.html">CSS3DRenderer</a></li>
+						<li><a href="CSS3DSprite.html">CSS3DSprite</a></li>
+						<li><a href="Projector.html">Projector</a></li>
+						<li><a href="SVGObject.html">SVGObject</a></li>
+						<li><a href="SVGRenderer.html">SVGRenderer</a></li>
+					</ul>
+					<h3>Shaders</h3>
+					<ul>
+						<li><a href="module-ACESFilmicToneMappingShader.html">ACESFilmicToneMappingShader</a></li>
+						<li><a href="module-AfterimageShader.html">AfterimageShader</a></li>
+						<li><a href="module-BasicShader.html">BasicShader</a></li>
+						<li><a href="module-BleachBypassShader.html">BleachBypassShader</a></li>
+						<li><a href="module-BlendShader.html">BlendShader</a></li>
+						<li><a href="module-BokehShader.html">BokehShader</a></li>
+						<li><a href="module-BokehShader2.html">BokehShader2</a></li>
+						<li><a href="module-BrightnessContrastShader.html">BrightnessContrastShader</a></li>
+						<li><a href="module-ColorCorrectionShader.html">ColorCorrectionShader</a></li>
+						<li><a href="module-ColorifyShader.html">ColorifyShader</a></li>
+						<li><a href="module-ConvolutionShader.html">ConvolutionShader</a></li>
+						<li><a href="module-CopyShader.html">CopyShader</a></li>
+						<li><a href="module-DOFMipMapShader.html">DOFMipMapShader</a></li>
+						<li><a href="module-DepthLimitedBlurShader.html">DepthLimitedBlurShader</a></li>
+						<li><a href="module-DigitalGlitch.html">DigitalGlitch</a></li>
+						<li><a href="module-DotScreenShader.html">DotScreenShader</a></li>
+						<li><a href="module-ExposureShader.html">ExposureShader</a></li>
+						<li><a href="module-FXAAShader.html">FXAAShader</a></li>
+						<li><a href="module-FilmShader.html">FilmShader</a></li>
+						<li><a href="module-FocusShader.html">FocusShader</a></li>
+						<li><a href="module-FreiChenShader.html">FreiChenShader</a></li>
+						<li><a href="module-GTAOShader.html">GTAOShader</a></li>
+						<li><a href="module-GammaCorrectionShader.html">GammaCorrectionShader</a></li>
+						<li><a href="module-GodRaysShader.html">GodRaysShader</a></li>
+						<li><a href="module-HalftoneShader.html">HalftoneShader</a></li>
+						<li><a href="module-HorizontalBlurShader.html">HorizontalBlurShader</a></li>
+						<li><a href="module-HorizontalTiltShiftShader.html">HorizontalTiltShiftShader</a></li>
+						<li><a href="module-HueSaturationShader.html">HueSaturationShader</a></li>
+						<li><a href="module-KaleidoShader.html">KaleidoShader</a></li>
+						<li><a href="module-LuminosityHighPassShader.html">LuminosityHighPassShader</a></li>
+						<li><a href="module-LuminosityShader.html">LuminosityShader</a></li>
+						<li><a href="module-MirrorShader.html">MirrorShader</a></li>
+						<li><a href="module-NormalMapShader.html">NormalMapShader</a></li>
+						<li><a href="module-OutputShader.html">OutputShader</a></li>
+						<li><a href="module-PoissonDenoiseShader.html">PoissonDenoiseShader</a></li>
+						<li><a href="module-RGBShiftShader.html">RGBShiftShader</a></li>
+						<li><a href="module-SAOShader.html">SAOShader</a></li>
+						<li><a href="module-SMAAShader.html">SMAAShader</a></li>
+						<li><a href="module-SSAOShader.html">SSAOShader</a></li>
+						<li><a href="module-SSRShader.html">SSRShader</a></li>
+						<li><a href="module-SepiaShader.html">SepiaShader</a></li>
+						<li><a href="module-SobelOperatorShader.html">SobelOperatorShader</a></li>
+						<li><a href="module-SubsurfaceScatteringShader.html">SubsurfaceScatteringShader</a></li>
+						<li><a href="module-TriangleBlurShader.html">TriangleBlurShader</a></li>
+						<li><a href="module-UnpackDepthRGBAShader.html">UnpackDepthRGBAShader</a></li>
+						<li><a href="module-VelocityShader.html">VelocityShader</a></li>
+						<li><a href="module-VerticalBlurShader.html">VerticalBlurShader</a></li>
+						<li><a href="module-VerticalTiltShiftShader.html">VerticalTiltShiftShader</a></li>
+						<li><a href="module-VignetteShader.html">VignetteShader</a></li>
+						<li><a href="module-VolumeShader.html">VolumeShader</a></li>
+						<li><a href="module-WaterRefractionShader.html">WaterRefractionShader</a></li>
+					</ul>
+					<h3>TSL</h3>
+					<ul>
+						<li><a href="AfterImageNode.html">AfterImageNode</a></li>
+						<li><a href="AnaglyphPassNode.html">AnaglyphPassNode</a></li>
+						<li><a href="AnamorphicNode.html">AnamorphicNode</a></li>
+						<li><a href="BloomNode.html">BloomNode</a></li>
+						<li><a href="ChromaticAberrationNode.html">ChromaticAberrationNode</a></li>
+						<li><a href="DenoiseNode.html">DenoiseNode</a></li>
+						<li><a href="DepthOfFieldNode.html">DepthOfFieldNode</a></li>
+						<li><a href="DotScreenNode.html">DotScreenNode</a></li>
+						<li><a href="FXAANode.html">FXAANode</a></li>
+						<li><a href="FilmNode.html">FilmNode</a></li>
+						<li><a href="GTAONode.html">GTAONode</a></li>
+						<li><a href="GaussianBlurNode.html">GaussianBlurNode</a></li>
+						<li><a href="LensflareNode.html">LensflareNode</a></li>
+						<li><a href="Lut3DNode.html">Lut3DNode</a></li>
+						<li><a href="OutlineNode.html">OutlineNode</a></li>
+						<li><a href="ParallaxBarrierPassNode.html">ParallaxBarrierPassNode</a></li>
+						<li><a href="PixelationNode.html">PixelationNode</a></li>
+						<li><a href="PixelationPassNode.html">PixelationPassNode</a></li>
+						<li><a href="RGBShiftNode.html">RGBShiftNode</a></li>
+						<li><a href="SMAANode.html">SMAANode</a></li>
+						<li><a href="SSAAPassNode.html">SSAAPassNode</a></li>
+						<li><a href="SSGINode.html">SSGINode</a></li>
+						<li><a href="SSRNode.html">SSRNode</a></li>
+						<li><a href="SSSNode.html">SSSNode</a></li>
+						<li><a href="SobelOperatorNode.html">SobelOperatorNode</a></li>
+						<li><a href="StereoCompositePassNode.html">StereoCompositePassNode</a></li>
+						<li><a href="StereoPassNode.html">StereoPassNode</a></li>
+						<li><a href="TRAANode.html">TRAANode</a></li>
+						<li><a href="TileShadowNode.html">TileShadowNode</a></li>
+						<li><a href="TileShadowNodeHelper.html">TileShadowNodeHelper</a></li>
+						<li><a href="TiledLightsNode.html">TiledLightsNode</a></li>
+						<li><a href="TransitionNode.html">TransitionNode</a></li>
+						<li><a href="module-Bayer.html">Bayer</a></li>
+						<li><a href="module-Raymarching.html">Raymarching</a></li>
+					</ul>
+					<h3>Textures</h3>
+					<ul>
+						<li><a href="FlakesTexture.html">FlakesTexture</a></li>
+					</ul>
+					<h3>Transpiler</h3>
+					<ul>
+						<li><a href="Transpiler.html">Transpiler</a></li>
+					</ul>
+					<h3>Utils</h3>
+					<ul>
+						<li><a href="LDrawUtils.html">LDrawUtils</a></li>
+						<li><a href="SceneOptimizer.html">SceneOptimizer</a></li>
+						<li><a href="ShadowMapViewer.html">ShadowMapViewer</a></li>
+						<li><a href="WorkerPool.html">WorkerPool</a></li>
+						<li><a href="module-BufferGeometryUtils.html">BufferGeometryUtils</a></li>
+						<li><a href="module-CameraUtils.html">CameraUtils</a></li>
+						<li><a href="module-GeometryCompressionUtils.html">GeometryCompressionUtils</a></li>
+						<li><a href="module-GeometryUtils.html">GeometryUtils</a></li>
+						<li><a href="module-SceneUtils.html">SceneUtils</a></li>
+						<li><a href="module-SkeletonUtils.html">SkeletonUtils</a></li>
+						<li><a href="module-SortUtils.html">SortUtils</a></li>
+						<li><a href="module-UVsDebug.html">UVsDebug</a></li>
+						<li><a href="module-WebGLTextureUtils.html">WebGLTextureUtils</a></li>
+						<li><a href="module-WebGPUTextureUtils.html">WebGPUTextureUtils</a></li>
+					</ul>
+					<h3>Webxr</h3>
+					<ul>
+						<li><a href="ARButton.html">ARButton</a></li>
+						<li><a href="OculusHandModel.html">OculusHandModel</a></li>
+						<li><a href="OculusHandPointerModel.html">OculusHandPointerModel</a></li>
+						<li><a href="VRButton.html">VRButton</a></li>
+						<li><a href="XRButton.html">XRButton</a></li>
+						<li><a href="XRControllerModel.html">XRControllerModel</a></li>
+						<li><a href="XRControllerModelFactory.html">XRControllerModelFactory</a></li>
+						<li><a href="XREstimatedLight.html">XREstimatedLight</a></li>
+						<li><a href="XRHandMeshModel.html">XRHandMeshModel</a></li>
+						<li><a href="XRHandModel.html">XRHandModel</a></li>
+						<li><a href="XRHandModelFactory.html">XRHandModelFactory</a></li>
+						<li><a href="XRHandPrimitiveModel.html">XRHandPrimitiveModel</a></li>
+						<li><a href="XRPlanes.html">XRPlanes</a></li>
+						<li><a href="module-Text2D.html">Text2D</a></li>
+					</ul>
+					<h2>TSL</h2>
+					<ul>
+						<li><a href="TSL.html#Break">Break</a></li>
+						<li><a href="TSL.html#Const">Const</a></li>
+						<li><a href="TSL.html#Continue">Continue</a></li>
+						<li><a href="TSL.html#Discard">Discard</a></li>
+						<li><a href="TSL.html#EPSILON">EPSILON</a></li>
+						<li><a href="TSL.html#HALF_PI">HALF_PI</a></li>
+						<li><a href="TSL.html#INFINITY">INFINITY</a></li>
+						<li><a href="TSL.html#If">If</a></li>
+						<li><a href="TSL.html#Loop">Loop</a></li>
+						<li><a href="TSL.html#PI">PI</a></li>
+						<li><a href="TSL.html#PI2">PI2</a></li>
+						<li><a href="TSL.html#Return">Return</a></li>
+						<li><a href="TSL.html#Switch">Switch</a></li>
+						<li><a href="TSL.html#TBNViewMatrix">TBNViewMatrix</a></li>
+						<li><a href="TSL.html#TWO_PI">TWO_PI</a></li>
+						<li><a href="TSL.html#Var">Var</a></li>
+						<li><a href="TSL.html#VarIntent">VarIntent</a></li>
+						<li><a href="TSL.html#abs">abs</a></li>
+						<li><a href="TSL.html#acesFilmicToneMapping">acesFilmicToneMapping</a></li>
+						<li><a href="TSL.html#acos">acos</a></li>
+						<li><a href="TSL.html#add">add</a></li>
+						<li><a href="TSL.html#afterImage">afterImage</a></li>
+						<li><a href="TSL.html#agxToneMapping">agxToneMapping</a></li>
+						<li><a href="TSL.html#all">all</a></li>
+						<li><a href="TSL.html#alphaT">alphaT</a></li>
+						<li><a href="TSL.html#anaglyphPass">anaglyphPass</a></li>
+						<li><a href="TSL.html#anamorphic">anamorphic</a></li>
+						<li><a href="TSL.html#and">and</a></li>
+						<li><a href="TSL.html#anisotropy">anisotropy</a></li>
+						<li><a href="TSL.html#anisotropyB">anisotropyB</a></li>
+						<li><a href="TSL.html#anisotropyT">anisotropyT</a></li>
+						<li><a href="TSL.html#any">any</a></li>
+						<li><a href="TSL.html#ao">ao</a></li>
+						<li><a href="TSL.html#append">append</a></li>
+						<li><a href="TSL.html#array">array</a></li>
+						<li><a href="TSL.html#asin">asin</a></li>
+						<li><a href="TSL.html#assign">assign</a></li>
+						<li><a href="TSL.html#atan">atan</a></li>
+						<li><a href="TSL.html#atan2">atan2</a></li>
+						<li><a href="TSL.html#atomicAdd">atomicAdd</a></li>
+						<li><a href="TSL.html#atomicAnd">atomicAnd</a></li>
+						<li><a href="TSL.html#atomicFunc">atomicFunc</a></li>
+						<li><a href="TSL.html#atomicLoad">atomicLoad</a></li>
+						<li><a href="TSL.html#atomicMax">atomicMax</a></li>
+						<li><a href="TSL.html#atomicMin">atomicMin</a></li>
+						<li><a href="TSL.html#atomicNode">atomicNode</a></li>
+						<li><a href="TSL.html#atomicOr">atomicOr</a></li>
+						<li><a href="TSL.html#atomicStore">atomicStore</a></li>
+						<li><a href="TSL.html#atomicSub">atomicSub</a></li>
+						<li><a href="TSL.html#atomicXor">atomicXor</a></li>
+						<li><a href="TSL.html#attenuationColor">attenuationColor</a></li>
+						<li><a href="TSL.html#attenuationDistance">attenuationDistance</a></li>
+						<li><a href="TSL.html#attribute">attribute</a></li>
+						<li><a href="TSL.html#attributeArray">attributeArray</a></li>
+						<li><a href="TSL.html#backgroundBlurriness">backgroundBlurriness</a></li>
+						<li><a href="TSL.html#backgroundIntensity">backgroundIntensity</a></li>
+						<li><a href="TSL.html#backgroundRotation">backgroundRotation</a></li>
+						<li><a href="TSL.html#barrier">barrier</a></li>
+						<li><a href="TSL.html#batch">batch</a></li>
+						<li><a href="TSL.html#bentNormalView">bentNormalView</a></li>
+						<li><a href="TSL.html#billboarding">billboarding</a></li>
+						<li><a href="TSL.html#bitAnd">bitAnd</a></li>
+						<li><a href="TSL.html#bitNot">bitNot</a></li>
+						<li><a href="TSL.html#bitOr">bitOr</a></li>
+						<li><a href="TSL.html#bitXor">bitXor</a></li>
+						<li><a href="TSL.html#bitangentGeometry">bitangentGeometry</a></li>
+						<li><a href="TSL.html#bitangentLocal">bitangentLocal</a></li>
+						<li><a href="TSL.html#bitangentView">bitangentView</a></li>
+						<li><a href="TSL.html#bitangentViewFrame">bitangentViewFrame</a></li>
+						<li><a href="TSL.html#bitangentWorld">bitangentWorld</a></li>
+						<li><a href="TSL.html#bitcast">bitcast</a></li>
+						<li><a href="TSL.html#bleach">bleach</a></li>
+						<li><a href="TSL.html#blendBurn">blendBurn</a></li>
+						<li><a href="TSL.html#blendColor">blendColor</a></li>
+						<li><a href="TSL.html#blendDodge">blendDodge</a></li>
+						<li><a href="TSL.html#blendOverlay">blendOverlay</a></li>
+						<li><a href="TSL.html#blendScreen">blendScreen</a></li>
+						<li><a href="TSL.html#bloom">bloom</a></li>
+						<li><a href="TSL.html#boxBlur">boxBlur</a></li>
+						<li><a href="TSL.html#buffer">buffer</a></li>
+						<li><a href="TSL.html#bufferAttribute">bufferAttribute</a></li>
+						<li><a href="TSL.html#builtin">builtin</a></li>
+						<li><a href="TSL.html#bumpMap">bumpMap</a></li>
+						<li><a href="TSL.html#burn">burn</a></li>
+						<li><a href="TSL.html#bypass">bypass</a></li>
+						<li><a href="TSL.html#cache">cache</a></li>
+						<li><a href="TSL.html#cameraFar">cameraFar</a></li>
+						<li><a href="TSL.html#cameraIndex">cameraIndex</a></li>
+						<li><a href="TSL.html#cameraNear">cameraNear</a></li>
+						<li><a href="TSL.html#cameraNormalMatrix">cameraNormalMatrix</a></li>
+						<li><a href="TSL.html#cameraPosition">cameraPosition</a></li>
+						<li><a href="TSL.html#cameraProjectionMatrix">cameraProjectionMatrix</a></li>
+						<li><a href="TSL.html#cameraProjectionMatrixInverse">cameraProjectionMatrixInverse</a></li>
+						<li><a href="TSL.html#cameraViewMatrix">cameraViewMatrix</a></li>
+						<li><a href="TSL.html#cameraViewport">cameraViewport</a></li>
+						<li><a href="TSL.html#cameraWorldMatrix">cameraWorldMatrix</a></li>
+						<li><a href="TSL.html#cbrt">cbrt</a></li>
+						<li><a href="TSL.html#cdl">cdl</a></li>
+						<li><a href="TSL.html#ceil">ceil</a></li>
+						<li><a href="TSL.html#checker">checker</a></li>
+						<li><a href="TSL.html#chromaticAberration">chromaticAberration</a></li>
+						<li><a href="TSL.html#cineonToneMapping">cineonToneMapping</a></li>
+						<li><a href="TSL.html#circleIntersectsAABB">circleIntersectsAABB</a></li>
+						<li><a href="TSL.html#clamp">clamp</a></li>
+						<li><a href="TSL.html#clearcoat">clearcoat</a></li>
+						<li><a href="TSL.html#clearcoatNormalView">clearcoatNormalView</a></li>
+						<li><a href="TSL.html#clearcoatRoughness">clearcoatRoughness</a></li>
+						<li><a href="TSL.html#clipping">clipping</a></li>
+						<li><a href="TSL.html#clippingAlpha">clippingAlpha</a></li>
+						<li><a href="TSL.html#code">code</a></li>
+						<li><a href="TSL.html#colorSpaceToWorking">colorSpaceToWorking</a></li>
+						<li><a href="TSL.html#colorToDirection">colorToDirection</a></li>
+						<li><a href="TSL.html#compute">compute</a></li>
+						<li><a href="TSL.html#computeBuiltin">computeBuiltin</a></li>
+						<li><a href="TSL.html#computeKernel">computeKernel</a></li>
+						<li><a href="TSL.html#computeSkinning">computeSkinning</a></li>
+						<li><a href="TSL.html#context">context</a></li>
+						<li><a href="TSL.html#convertColorSpace">convertColorSpace</a></li>
+						<li><a href="TSL.html#convertToTexture">convertToTexture</a></li>
+						<li><a href="TSL.html#cos">cos</a></li>
+						<li><a href="TSL.html#createVar">createVar</a></li>
+						<li><a href="TSL.html#cross">cross</a></li>
+						<li><a href="TSL.html#cubeMapNode">cubeMapNode</a></li>
+						<li><a href="TSL.html#cubeTexture">cubeTexture</a></li>
+						<li><a href="TSL.html#cubeTextureBase">cubeTextureBase</a></li>
+						<li><a href="TSL.html#dFdx">dFdx</a></li>
+						<li><a href="TSL.html#dFdy">dFdy</a></li>
+						<li><a href="TSL.html#dashSize">dashSize</a></li>
+						<li><a href="TSL.html#debug">debug</a></li>
+						<li><a href="TSL.html#decrement">decrement</a></li>
+						<li><a href="TSL.html#decrementBefore">decrementBefore</a></li>
+						<li><a href="TSL.html#degrees">degrees</a></li>
+						<li><a href="TSL.html#deltaTime">deltaTime</a></li>
+						<li><a href="TSL.html#denoise">denoise</a></li>
+						<li><a href="TSL.html#densityFog">densityFog</a></li>
+						<li><a href="TSL.html#densityFogFactor">densityFogFactor</a></li>
+						<li><a href="TSL.html#depth">depth</a></li>
+						<li><a href="TSL.html#depthBase">depthBase</a></li>
+						<li><a href="TSL.html#depthPass">depthPass</a></li>
+						<li><a href="TSL.html#determinant">determinant</a></li>
+						<li><a href="TSL.html#difference">difference</a></li>
+						<li><a href="TSL.html#diffuseColor">diffuseColor</a></li>
+						<li><a href="TSL.html#directionToColor">directionToColor</a></li>
+						<li><a href="TSL.html#directionToFaceDirection">directionToFaceDirection</a></li>
+						<li><a href="TSL.html#dispersion">dispersion</a></li>
+						<li><a href="TSL.html#distance">distance</a></li>
+						<li><a href="TSL.html#div">div</a></li>
+						<li><a href="TSL.html#dodge">dodge</a></li>
+						<li><a href="TSL.html#dof">dof</a></li>
+						<li><a href="TSL.html#dot">dot</a></li>
+						<li><a href="TSL.html#dotScreen">dotScreen</a></li>
+						<li><a href="TSL.html#drawIndex">drawIndex</a></li>
+						<li><a href="TSL.html#dynamicBufferAttribute">dynamicBufferAttribute</a></li>
+						<li><a href="TSL.html#emissive">emissive</a></li>
+						<li><a href="TSL.html#equal">equal</a></li>
+						<li><a href="TSL.html#equals">equals</a></li>
+						<li><a href="TSL.html#equirectUV">equirectUV</a></li>
+						<li><a href="TSL.html#exp">exp</a></li>
+						<li><a href="TSL.html#exp2">exp2</a></li>
+						<li><a href="TSL.html#expression">expression</a></li>
+						<li><a href="TSL.html#faceDirection">faceDirection</a></li>
+						<li><a href="TSL.html#faceForward">faceForward</a></li>
+						<li><a href="TSL.html#film">film</a></li>
+						<li><a href="TSL.html#floatBitsToInt">floatBitsToInt</a></li>
+						<li><a href="TSL.html#floatBitsToUint">floatBitsToUint</a></li>
+						<li><a href="TSL.html#floor">floor</a></li>
+						<li><a href="TSL.html#fog">fog</a></li>
+						<li><a href="TSL.html#fract">fract</a></li>
+						<li><a href="TSL.html#frameGroup">frameGroup</a></li>
+						<li><a href="TSL.html#frameId">frameId</a></li>
+						<li><a href="TSL.html#frontFacing">frontFacing</a></li>
+						<li><a href="TSL.html#fwidth">fwidth</a></li>
+						<li><a href="TSL.html#fxaa">fxaa</a></li>
+						<li><a href="TSL.html#gain">gain</a></li>
+						<li><a href="TSL.html#gapSize">gapSize</a></li>
+						<li><a href="TSL.html#gaussianBlur">gaussianBlur</a></li>
+						<li><a href="TSL.html#getNormalFromDepth">getNormalFromDepth</a></li>
+						<li><a href="TSL.html#getParallaxCorrectNormal">getParallaxCorrectNormal</a></li>
+						<li><a href="TSL.html#getScreenPosition">getScreenPosition</a></li>
+						<li><a href="TSL.html#getShadowMaterial">getShadowMaterial</a></li>
+						<li><a href="TSL.html#getShadowRenderObjectFunction">getShadowRenderObjectFunction</a></li>
+						<li><a href="TSL.html#getViewPosition">getViewPosition</a></li>
+						<li><a href="TSL.html#globalId">globalId</a></li>
+						<li><a href="TSL.html#glsl">glsl</a></li>
+						<li><a href="TSL.html#grayscale">grayscale</a></li>
+						<li><a href="TSL.html#greaterThan">greaterThan</a></li>
+						<li><a href="TSL.html#greaterThanEqual">greaterThanEqual</a></li>
+						<li><a href="TSL.html#hardwareClipping">hardwareClipping</a></li>
+						<li><a href="TSL.html#hash">hash</a></li>
+						<li><a href="TSL.html#hashBlur">hashBlur</a></li>
+						<li><a href="TSL.html#highpModelNormalViewMatrix">highpModelNormalViewMatrix</a></li>
+						<li><a href="TSL.html#highpModelViewMatrix">highpModelViewMatrix</a></li>
+						<li><a href="TSL.html#hue">hue</a></li>
+						<li><a href="TSL.html#increment">increment</a></li>
+						<li><a href="TSL.html#incrementBefore">incrementBefore</a></li>
+						<li><a href="TSL.html#inspector">inspector</a></li>
+						<li><a href="TSL.html#instance">instance</a></li>
+						<li><a href="TSL.html#instanceIndex">instanceIndex</a></li>
+						<li><a href="TSL.html#instancedArray">instancedArray</a></li>
+						<li><a href="TSL.html#instancedBufferAttribute">instancedBufferAttribute</a></li>
+						<li><a href="TSL.html#instancedDynamicBufferAttribute">instancedDynamicBufferAttribute</a></li>
+						<li><a href="TSL.html#instancedMesh">instancedMesh</a></li>
+						<li><a href="TSL.html#intBitsToFloat">intBitsToFloat</a></li>
+						<li><a href="TSL.html#interleavedGradientNoise">interleavedGradientNoise</a></li>
+						<li><a href="TSL.html#inverse">inverse</a></li>
+						<li><a href="TSL.html#inverseSqrt">inverseSqrt</a></li>
+						<li><a href="TSL.html#invocationLocalIndex">invocationLocalIndex</a></li>
+						<li><a href="TSL.html#invocationSubgroupIndex">invocationSubgroupIndex</a></li>
+						<li><a href="TSL.html#ior">ior</a></li>
+						<li><a href="TSL.html#iridescence">iridescence</a></li>
+						<li><a href="TSL.html#iridescenceIOR">iridescenceIOR</a></li>
+						<li><a href="TSL.html#iridescenceThickness">iridescenceThickness</a></li>
+						<li><a href="TSL.html#isolate">isolate</a></li>
+						<li><a href="TSL.html#js">js</a></li>
+						<li><a href="TSL.html#label">label</a></li>
+						<li><a href="TSL.html#length">length</a></li>
+						<li><a href="TSL.html#lengthSq">lengthSq</a></li>
+						<li><a href="TSL.html#lensflare">lensflare</a></li>
+						<li><a href="TSL.html#lessThan">lessThan</a></li>
+						<li><a href="TSL.html#lessThanEqual">lessThanEqual</a></li>
+						<li><a href="TSL.html#lightPosition">lightPosition</a></li>
+						<li><a href="TSL.html#lightProjectionUV">lightProjectionUV</a></li>
+						<li><a href="TSL.html#lightShadowMatrix">lightShadowMatrix</a></li>
+						<li><a href="TSL.html#lightTargetDirection">lightTargetDirection</a></li>
+						<li><a href="TSL.html#lightTargetPosition">lightTargetPosition</a></li>
+						<li><a href="TSL.html#lightViewPosition">lightViewPosition</a></li>
+						<li><a href="TSL.html#lights">lights</a></li>
+						<li><a href="TSL.html#linearDepth">linearDepth</a></li>
+						<li><a href="TSL.html#linearToneMapping">linearToneMapping</a></li>
+						<li><a href="TSL.html#localId">localId</a></li>
+						<li><a href="TSL.html#log">log</a></li>
+						<li><a href="TSL.html#log2">log2</a></li>
+						<li><a href="TSL.html#logarithmicDepthToViewZ">logarithmicDepthToViewZ</a></li>
+						<li><a href="TSL.html#luminance">luminance</a></li>
+						<li><a href="TSL.html#lut3D">lut3D</a></li>
+						<li><a href="TSL.html#matcapUV">matcapUV</a></li>
+						<li><a href="TSL.html#materialAO">materialAO</a></li>
+						<li><a href="TSL.html#materialAlphaTest">materialAlphaTest</a></li>
+						<li><a href="TSL.html#materialAnisotropy">materialAnisotropy</a></li>
+						<li><a href="TSL.html#materialAnisotropyVector">materialAnisotropyVector</a></li>
+						<li><a href="TSL.html#materialAttenuationColor">materialAttenuationColor</a></li>
+						<li><a href="TSL.html#materialAttenuationDistance">materialAttenuationDistance</a></li>
+						<li><a href="TSL.html#materialClearcoat">materialClearcoat</a></li>
+						<li><a href="TSL.html#materialClearcoatNormal">materialClearcoatNormal</a></li>
+						<li><a href="TSL.html#materialClearcoatRoughness">materialClearcoatRoughness</a></li>
+						<li><a href="TSL.html#materialColor">materialColor</a></li>
+						<li><a href="TSL.html#materialDispersion">materialDispersion</a></li>
+						<li><a href="TSL.html#materialEmissive">materialEmissive</a></li>
+						<li><a href="TSL.html#materialEnvIntensity">materialEnvIntensity</a></li>
+						<li><a href="TSL.html#materialEnvRotation">materialEnvRotation</a></li>
+						<li><a href="TSL.html#materialIOR">materialIOR</a></li>
+						<li><a href="TSL.html#materialIridescence">materialIridescence</a></li>
+						<li><a href="TSL.html#materialIridescenceIOR">materialIridescenceIOR</a></li>
+						<li><a href="TSL.html#materialIridescenceThickness">materialIridescenceThickness</a></li>
+						<li><a href="TSL.html#materialLightMap">materialLightMap</a></li>
+						<li><a href="TSL.html#materialLineDashOffset">materialLineDashOffset</a></li>
+						<li><a href="TSL.html#materialLineDashSize">materialLineDashSize</a></li>
+						<li><a href="TSL.html#materialLineGapSize">materialLineGapSize</a></li>
+						<li><a href="TSL.html#materialLineScale">materialLineScale</a></li>
+						<li><a href="TSL.html#materialLineWidth">materialLineWidth</a></li>
+						<li><a href="TSL.html#materialMetalness">materialMetalness</a></li>
+						<li><a href="TSL.html#materialNormal">materialNormal</a></li>
+						<li><a href="TSL.html#materialOpacity">materialOpacity</a></li>
+						<li><a href="TSL.html#materialPointSize">materialPointSize</a></li>
+						<li><a href="TSL.html#materialReference">materialReference</a></li>
+						<li><a href="TSL.html#materialReflectivity">materialReflectivity</a></li>
+						<li><a href="TSL.html#materialRefractionRatio">materialRefractionRatio</a></li>
+						<li><a href="TSL.html#materialRotation">materialRotation</a></li>
+						<li><a href="TSL.html#materialRoughness">materialRoughness</a></li>
+						<li><a href="TSL.html#materialSheen">materialSheen</a></li>
+						<li><a href="TSL.html#materialSheenRoughness">materialSheenRoughness</a></li>
+						<li><a href="TSL.html#materialShininess">materialShininess</a></li>
+						<li><a href="TSL.html#materialSpecular">materialSpecular</a></li>
+						<li><a href="TSL.html#materialSpecularColor">materialSpecularColor</a></li>
+						<li><a href="TSL.html#materialSpecularIntensity">materialSpecularIntensity</a></li>
+						<li><a href="TSL.html#materialSpecularStrength">materialSpecularStrength</a></li>
+						<li><a href="TSL.html#materialThickness">materialThickness</a></li>
+						<li><a href="TSL.html#materialTransmission">materialTransmission</a></li>
+						<li><a href="TSL.html#max">max</a></li>
+						<li><a href="TSL.html#maxMipLevel">maxMipLevel</a></li>
+						<li><a href="TSL.html#mediumpModelViewMatrix">mediumpModelViewMatrix</a></li>
+						<li><a href="TSL.html#metalness">metalness</a></li>
+						<li><a href="TSL.html#min">min</a></li>
+						<li><a href="TSL.html#mix">mix</a></li>
+						<li><a href="TSL.html#mixElement">mixElement</a></li>
+						<li><a href="TSL.html#mod">mod</a></li>
+						<li><a href="TSL.html#modInt">modInt</a></li>
+						<li><a href="TSL.html#modelDirection">modelDirection</a></li>
+						<li><a href="TSL.html#modelNormalMatrix">modelNormalMatrix</a></li>
+						<li><a href="TSL.html#modelPosition">modelPosition</a></li>
+						<li><a href="TSL.html#modelRadius">modelRadius</a></li>
+						<li><a href="TSL.html#modelScale">modelScale</a></li>
+						<li><a href="TSL.html#modelViewMatrix">modelViewMatrix</a></li>
+						<li><a href="TSL.html#modelViewPosition">modelViewPosition</a></li>
+						<li><a href="TSL.html#modelViewProjection">modelViewProjection</a></li>
+						<li><a href="TSL.html#modelWorldMatrix">modelWorldMatrix</a></li>
+						<li><a href="TSL.html#modelWorldMatrixInverse">modelWorldMatrixInverse</a></li>
+						<li><a href="TSL.html#morphReference">morphReference</a></li>
+						<li><a href="TSL.html#motionBlur">motionBlur</a></li>
+						<li><a href="TSL.html#mrt">mrt</a></li>
+						<li><a href="TSL.html#mul">mul</a></li>
+						<li><a href="TSL.html#negate">negate</a></li>
+						<li><a href="TSL.html#neutralToneMapping">neutralToneMapping</a></li>
+						<li><a href="TSL.html#normalFlat">normalFlat</a></li>
+						<li><a href="TSL.html#normalGeometry">normalGeometry</a></li>
+						<li><a href="TSL.html#normalLocal">normalLocal</a></li>
+						<li><a href="TSL.html#normalMap">normalMap</a></li>
+						<li><a href="TSL.html#normalView">normalView</a></li>
+						<li><a href="TSL.html#normalViewGeometry">normalViewGeometry</a></li>
+						<li><a href="TSL.html#normalWorld">normalWorld</a></li>
+						<li><a href="TSL.html#normalWorldGeometry">normalWorldGeometry</a></li>
+						<li><a href="TSL.html#normalize">normalize</a></li>
+						<li><a href="TSL.html#not">not</a></li>
+						<li><a href="TSL.html#notEqual">notEqual</a></li>
+						<li><a href="TSL.html#numWorkgroups">numWorkgroups</a></li>
+						<li><a href="TSL.html#objectDirection">objectDirection</a></li>
+						<li><a href="TSL.html#objectGroup">objectGroup</a></li>
+						<li><a href="TSL.html#objectPosition">objectPosition</a></li>
+						<li><a href="TSL.html#objectRadius">objectRadius</a></li>
+						<li><a href="TSL.html#objectScale">objectScale</a></li>
+						<li><a href="TSL.html#objectViewPosition">objectViewPosition</a></li>
+						<li><a href="TSL.html#objectWorldMatrix">objectWorldMatrix</a></li>
+						<li><a href="TSL.html#oneMinus">oneMinus</a></li>
+						<li><a href="TSL.html#or">or</a></li>
+						<li><a href="TSL.html#orthographicDepthToViewZ">orthographicDepthToViewZ</a></li>
+						<li><a href="TSL.html#oscSawtooth">oscSawtooth</a></li>
+						<li><a href="TSL.html#oscSine">oscSine</a></li>
+						<li><a href="TSL.html#oscSquare">oscSquare</a></li>
+						<li><a href="TSL.html#oscTriangle">oscTriangle</a></li>
+						<li><a href="TSL.html#outline">outline</a></li>
+						<li><a href="TSL.html#output">output</a></li>
+						<li><a href="TSL.html#outputStruct">outputStruct</a></li>
+						<li><a href="TSL.html#overlay">overlay</a></li>
+						<li><a href="TSL.html#overloadingFn">overloadingFn</a></li>
+						<li><a href="TSL.html#parabola">parabola</a></li>
+						<li><a href="TSL.html#parallaxBarrierPass">parallaxBarrierPass</a></li>
+						<li><a href="TSL.html#parallaxDirection">parallaxDirection</a></li>
+						<li><a href="TSL.html#parallaxUV">parallaxUV</a></li>
+						<li><a href="TSL.html#parameter">parameter</a></li>
+						<li><a href="TSL.html#pass">pass</a></li>
+						<li><a href="TSL.html#passTexture">passTexture</a></li>
+						<li><a href="TSL.html#pcurve">pcurve</a></li>
+						<li><a href="TSL.html#perspectiveDepthToViewZ">perspectiveDepthToViewZ</a></li>
+						<li><a href="TSL.html#pixelationPass">pixelationPass</a></li>
+						<li><a href="TSL.html#pmremTexture">pmremTexture</a></li>
+						<li><a href="TSL.html#pointShadow">pointShadow</a></li>
+						<li><a href="TSL.html#pointUV">pointUV</a></li>
+						<li><a href="TSL.html#pointWidth">pointWidth</a></li>
+						<li><a href="TSL.html#positionGeometry">positionGeometry</a></li>
+						<li><a href="TSL.html#positionLocal">positionLocal</a></li>
+						<li><a href="TSL.html#positionPrevious">positionPrevious</a></li>
+						<li><a href="TSL.html#positionView">positionView</a></li>
+						<li><a href="TSL.html#positionViewDirection">positionViewDirection</a></li>
+						<li><a href="TSL.html#positionWorld">positionWorld</a></li>
+						<li><a href="TSL.html#positionWorldDirection">positionWorldDirection</a></li>
+						<li><a href="TSL.html#posterize">posterize</a></li>
+						<li><a href="TSL.html#pow">pow</a></li>
+						<li><a href="TSL.html#pow2">pow2</a></li>
+						<li><a href="TSL.html#pow3">pow3</a></li>
+						<li><a href="TSL.html#pow4">pow4</a></li>
+						<li><a href="TSL.html#premultipliedGaussianBlur">premultipliedGaussianBlur</a></li>
+						<li><a href="TSL.html#premultiplyAlpha">premultiplyAlpha</a></li>
+						<li><a href="TSL.html#property">property</a></li>
+						<li><a href="TSL.html#quadBroadcast">quadBroadcast</a></li>
+						<li><a href="TSL.html#quadSwapDiagonal">quadSwapDiagonal</a></li>
+						<li><a href="TSL.html#quadSwapX">quadSwapX</a></li>
+						<li><a href="TSL.html#quadSwapY">quadSwapY</a></li>
+						<li><a href="TSL.html#radians">radians</a></li>
+						<li><a href="TSL.html#rand">rand</a></li>
+						<li><a href="TSL.html#range">range</a></li>
+						<li><a href="TSL.html#rangeFog">rangeFog</a></li>
+						<li><a href="TSL.html#rangeFogFactor">rangeFogFactor</a></li>
+						<li><a href="TSL.html#reciprocal">reciprocal</a></li>
+						<li><a href="TSL.html#reference">reference</a></li>
+						<li><a href="TSL.html#referenceBuffer">referenceBuffer</a></li>
+						<li><a href="TSL.html#reflect">reflect</a></li>
+						<li><a href="TSL.html#reflectVector">reflectVector</a></li>
+						<li><a href="TSL.html#reflectView">reflectView</a></li>
+						<li><a href="TSL.html#reflector">reflector</a></li>
+						<li><a href="TSL.html#refract">refract</a></li>
+						<li><a href="TSL.html#refractVector">refractVector</a></li>
+						<li><a href="TSL.html#refractView">refractView</a></li>
+						<li><a href="TSL.html#reinhardToneMapping">reinhardToneMapping</a></li>
+						<li><a href="TSL.html#remap">remap</a></li>
+						<li><a href="TSL.html#remapClamp">remapClamp</a></li>
+						<li><a href="TSL.html#renderGroup">renderGroup</a></li>
+						<li><a href="TSL.html#renderOutput">renderOutput</a></li>
+						<li><a href="TSL.html#rendererReference">rendererReference</a></li>
+						<li><a href="TSL.html#rgbShift">rgbShift</a></li>
+						<li><a href="TSL.html#rotate">rotate</a></li>
+						<li><a href="TSL.html#rotateUV">rotateUV</a></li>
+						<li><a href="TSL.html#roughness">roughness</a></li>
+						<li><a href="TSL.html#round">round</a></li>
+						<li><a href="TSL.html#rtt">rtt</a></li>
+						<li><a href="TSL.html#sRGBTransferEOTF">sRGBTransferEOTF</a></li>
+						<li><a href="TSL.html#sRGBTransferOETF">sRGBTransferOETF</a></li>
+						<li><a href="TSL.html#sampler">sampler</a></li>
+						<li><a href="TSL.html#samplerComparison">samplerComparison</a></li>
+						<li><a href="TSL.html#saturate">saturate</a></li>
+						<li><a href="TSL.html#saturation">saturation</a></li>
+						<li><a href="TSL.html#screen">screen</a></li>
+						<li><a href="TSL.html#screenCoordinate">screenCoordinate</a></li>
+						<li><a href="TSL.html#screenDPR">screenDPR</a></li>
+						<li><a href="TSL.html#screenSize">screenSize</a></li>
+						<li><a href="TSL.html#screenUV">screenUV</a></li>
+						<li><a href="TSL.html#scriptable">scriptable</a></li>
+						<li><a href="TSL.html#scriptableValue">scriptableValue</a></li>
+						<li><a href="TSL.html#select">select</a></li>
+						<li><a href="TSL.html#sepia">sepia</a></li>
+						<li><a href="TSL.html#setName">setName</a></li>
+						<li><a href="TSL.html#shadow">shadow</a></li>
+						<li><a href="TSL.html#shadowPositionWorld">shadowPositionWorld</a></li>
+						<li><a href="TSL.html#shapeCircle">shapeCircle</a></li>
+						<li><a href="TSL.html#sharedUniformGroup">sharedUniformGroup</a></li>
+						<li><a href="TSL.html#sheen">sheen</a></li>
+						<li><a href="TSL.html#sheenRoughness">sheenRoughness</a></li>
+						<li><a href="TSL.html#shiftLeft">shiftLeft</a></li>
+						<li><a href="TSL.html#shiftRight">shiftRight</a></li>
+						<li><a href="TSL.html#shininess">shininess</a></li>
+						<li><a href="TSL.html#sign">sign</a></li>
+						<li><a href="TSL.html#sin">sin</a></li>
+						<li><a href="TSL.html#sinc">sinc</a></li>
+						<li><a href="TSL.html#skinning">skinning</a></li>
+						<li><a href="TSL.html#smaa">smaa</a></li>
+						<li><a href="TSL.html#smoothstep">smoothstep</a></li>
+						<li><a href="TSL.html#smoothstepElement">smoothstepElement</a></li>
+						<li><a href="TSL.html#sobel">sobel</a></li>
+						<li><a href="TSL.html#specularColor">specularColor</a></li>
+						<li><a href="TSL.html#specularF90">specularF90</a></li>
+						<li><a href="TSL.html#spherizeUV">spherizeUV</a></li>
+						<li><a href="TSL.html#spritesheetUV">spritesheetUV</a></li>
+						<li><a href="TSL.html#sqrt">sqrt</a></li>
+						<li><a href="TSL.html#ssaaPass">ssaaPass</a></li>
+						<li><a href="TSL.html#ssgi">ssgi</a></li>
+						<li><a href="TSL.html#ssr">ssr</a></li>
+						<li><a href="TSL.html#sss">sss</a></li>
+						<li><a href="TSL.html#stack">stack</a></li>
+						<li><a href="TSL.html#step">step</a></li>
+						<li><a href="TSL.html#stepElement">stepElement</a></li>
+						<li><a href="TSL.html#stereoPass">stereoPass</a></li>
+						<li><a href="TSL.html#storage">storage</a></li>
+						<li><a href="TSL.html#storageBarrier">storageBarrier</a></li>
+						<li><a href="TSL.html#storageElement">storageElement</a></li>
+						<li><a href="TSL.html#storageObject">storageObject</a></li>
+						<li><a href="TSL.html#storageTexture">storageTexture</a></li>
+						<li><a href="TSL.html#struct">struct</a></li>
+						<li><a href="TSL.html#sub">sub</a></li>
+						<li><a href="TSL.html#subBuild">subBuild</a></li>
+						<li><a href="TSL.html#subgroupAdd">subgroupAdd</a></li>
+						<li><a href="TSL.html#subgroupAll">subgroupAll</a></li>
+						<li><a href="TSL.html#subgroupAnd">subgroupAnd</a></li>
+						<li><a href="TSL.html#subgroupAny">subgroupAny</a></li>
+						<li><a href="TSL.html#subgroupBallot">subgroupBallot</a></li>
+						<li><a href="TSL.html#subgroupBroadcast">subgroupBroadcast</a></li>
+						<li><a href="TSL.html#subgroupBroadcastFirst">subgroupBroadcastFirst</a></li>
+						<li><a href="TSL.html#subgroupElect">subgroupElect</a></li>
+						<li><a href="TSL.html#subgroupExclusiveAdd">subgroupExclusiveAdd</a></li>
+						<li><a href="TSL.html#subgroupExclusiveMul">subgroupExclusiveMul</a></li>
+						<li><a href="TSL.html#subgroupInclusiveAdd">subgroupInclusiveAdd</a></li>
+						<li><a href="TSL.html#subgroupInclusiveMul">subgroupInclusiveMul</a></li>
+						<li><a href="TSL.html#subgroupIndex">subgroupIndex</a></li>
+						<li><a href="TSL.html#subgroupMax">subgroupMax</a></li>
+						<li><a href="TSL.html#subgroupMin">subgroupMin</a></li>
+						<li><a href="TSL.html#subgroupMul">subgroupMul</a></li>
+						<li><a href="TSL.html#subgroupOr">subgroupOr</a></li>
+						<li><a href="TSL.html#subgroupShuffle">subgroupShuffle</a></li>
+						<li><a href="TSL.html#subgroupShuffleDown">subgroupShuffleDown</a></li>
+						<li><a href="TSL.html#subgroupShuffleUp">subgroupShuffleUp</a></li>
+						<li><a href="TSL.html#subgroupShuffleXor">subgroupShuffleXor</a></li>
+						<li><a href="TSL.html#subgroupSize">subgroupSize</a></li>
+						<li><a href="TSL.html#subgroupXor">subgroupXor</a></li>
+						<li><a href="TSL.html#tan">tan</a></li>
+						<li><a href="TSL.html#tangentGeometry">tangentGeometry</a></li>
+						<li><a href="TSL.html#tangentLocal">tangentLocal</a></li>
+						<li><a href="TSL.html#tangentView">tangentView</a></li>
+						<li><a href="TSL.html#tangentViewFrame">tangentViewFrame</a></li>
+						<li><a href="TSL.html#tangentWorld">tangentWorld</a></li>
+						<li><a href="TSL.html#texture">texture</a></li>
+						<li><a href="TSL.html#texture3D">texture3D</a></li>
+						<li><a href="TSL.html#textureBarrier">textureBarrier</a></li>
+						<li><a href="TSL.html#textureBase">textureBase</a></li>
+						<li><a href="TSL.html#textureBicubic">textureBicubic</a></li>
+						<li><a href="TSL.html#textureBicubicLevel">textureBicubicLevel</a></li>
+						<li><a href="TSL.html#textureLoad">textureLoad</a></li>
+						<li><a href="TSL.html#textureSize">textureSize</a></li>
+						<li><a href="TSL.html#textureStore">textureStore</a></li>
+						<li><a href="TSL.html#thickness">thickness</a></li>
+						<li><a href="TSL.html#tiledLights">tiledLights</a></li>
+						<li><a href="TSL.html#time">time</a></li>
+						<li><a href="TSL.html#toneMapping">toneMapping</a></li>
+						<li><a href="TSL.html#toneMappingExposure">toneMappingExposure</a></li>
+						<li><a href="TSL.html#toonOutlinePass">toonOutlinePass</a></li>
+						<li><a href="TSL.html#traa">traa</a></li>
+						<li><a href="TSL.html#transformDirection">transformDirection</a></li>
+						<li><a href="TSL.html#transformNormal">transformNormal</a></li>
+						<li><a href="TSL.html#transformNormalToView">transformNormalToView</a></li>
+						<li><a href="TSL.html#transformedClearcoatNormalView">transformedClearcoatNormalView</a></li>
+						<li><a href="TSL.html#transformedNormalView">transformedNormalView</a></li>
+						<li><a href="TSL.html#transformedNormalWorld">transformedNormalWorld</a></li>
+						<li><a href="TSL.html#transition">transition</a></li>
+						<li><a href="TSL.html#transmission">transmission</a></li>
+						<li><a href="TSL.html#transpose">transpose</a></li>
+						<li><a href="TSL.html#triNoise3D">triNoise3D</a></li>
+						<li><a href="TSL.html#triplanarTexture">triplanarTexture</a></li>
+						<li><a href="TSL.html#triplanarTextures">triplanarTextures</a></li>
+						<li><a href="TSL.html#trunc">trunc</a></li>
+						<li><a href="TSL.html#uintBitsToFloat">uintBitsToFloat</a></li>
+						<li><a href="TSL.html#uniform">uniform</a></li>
+						<li><a href="TSL.html#uniformArray">uniformArray</a></li>
+						<li><a href="TSL.html#uniformCubeTexture">uniformCubeTexture</a></li>
+						<li><a href="TSL.html#uniformFlow">uniformFlow</a></li>
+						<li><a href="TSL.html#uniformGroup">uniformGroup</a></li>
+						<li><a href="TSL.html#uniformTexture">uniformTexture</a></li>
+						<li><a href="TSL.html#unpremultiplyAlpha">unpremultiplyAlpha</a></li>
+						<li><a href="TSL.html#userData">userData</a></li>
+						<li><a href="TSL.html#uv">uv</a></li>
+						<li><a href="TSL.html#varying">varying</a></li>
+						<li><a href="TSL.html#varyingProperty">varyingProperty</a></li>
+						<li><a href="TSL.html#velocity">velocity</a></li>
+						<li><a href="TSL.html#vertexColor">vertexColor</a></li>
+						<li><a href="TSL.html#vertexIndex">vertexIndex</a></li>
+						<li><a href="TSL.html#vertexStage">vertexStage</a></li>
+						<li><a href="TSL.html#vibrance">vibrance</a></li>
+						<li><a href="TSL.html#viewZToLogarithmicDepth">viewZToLogarithmicDepth</a></li>
+						<li><a href="TSL.html#viewZToOrthographicDepth">viewZToOrthographicDepth</a></li>
+						<li><a href="TSL.html#viewZToPerspectiveDepth">viewZToPerspectiveDepth</a></li>
+						<li><a href="TSL.html#viewport">viewport</a></li>
+						<li><a href="TSL.html#viewportCoordinate">viewportCoordinate</a></li>
+						<li><a href="TSL.html#viewportDepthTexture">viewportDepthTexture</a></li>
+						<li><a href="TSL.html#viewportLinearDepth">viewportLinearDepth</a></li>
+						<li><a href="TSL.html#viewportMipTexture">viewportMipTexture</a></li>
+						<li><a href="TSL.html#viewportSafeUV">viewportSafeUV</a></li>
+						<li><a href="TSL.html#viewportSharedTexture">viewportSharedTexture</a></li>
+						<li><a href="TSL.html#viewportSize">viewportSize</a></li>
+						<li><a href="TSL.html#viewportTexture">viewportTexture</a></li>
+						<li><a href="TSL.html#viewportUV">viewportUV</a></li>
+						<li><a href="TSL.html#wgsl">wgsl</a></li>
+						<li><a href="TSL.html#workgroupArray">workgroupArray</a></li>
+						<li><a href="TSL.html#workgroupBarrier">workgroupBarrier</a></li>
+						<li><a href="TSL.html#workgroupId">workgroupId</a></li>
+						<li><a href="TSL.html#workingToColorSpace">workingToColorSpace</a></li>
+						<li><a href="TSL.html#xor">xor</a></li>
+					</ul>
+					<h2>Global</h2>
+					<ul>
+						<li><a href="global.html#ACESFilmicToneMapping">ACESFilmicToneMapping</a></li>
+						<li><a href="global.html#AddEquation">AddEquation</a></li>
+						<li><a href="global.html#AddOperation">AddOperation</a></li>
+						<li><a href="global.html#AdditiveAnimationBlendMode">AdditiveAnimationBlendMode</a></li>
+						<li><a href="global.html#AdditiveBlending">AdditiveBlending</a></li>
+						<li><a href="global.html#AgXToneMapping">AgXToneMapping</a></li>
+						<li><a href="global.html#AlphaFormat">AlphaFormat</a></li>
+						<li><a href="global.html#AlwaysCompare">AlwaysCompare</a></li>
+						<li><a href="global.html#AlwaysDepth">AlwaysDepth</a></li>
+						<li><a href="global.html#AlwaysStencilFunc">AlwaysStencilFunc</a></li>
+						<li><a href="global.html#AttachedBindMode">AttachedBindMode</a></li>
+						<li><a href="global.html#BackSide">BackSide</a></li>
+						<li><a href="global.html#BasicDepthPacking">BasicDepthPacking</a></li>
+						<li><a href="global.html#BasicShadowFilter">BasicShadowFilter</a></li>
+						<li><a href="global.html#BasicShadowMap">BasicShadowMap</a></li>
+						<li><a href="global.html#ByteType">ByteType</a></li>
+						<li><a href="global.html#CineonToneMapping">CineonToneMapping</a></li>
+						<li><a href="global.html#ClampToEdgeWrapping">ClampToEdgeWrapping</a></li>
+						<li><a href="global.html#ConstantAlphaFactor">ConstantAlphaFactor</a></li>
+						<li><a href="global.html#ConstantColorFactor">ConstantColorFactor</a></li>
+						<li><a href="global.html#CubeReflectionMapping">CubeReflectionMapping</a></li>
+						<li><a href="global.html#CubeRefractionMapping">CubeRefractionMapping</a></li>
+						<li><a href="global.html#CubeUVReflectionMapping">CubeUVReflectionMapping</a></li>
+						<li><a href="global.html#CullFaceBack">CullFaceBack</a></li>
+						<li><a href="global.html#CullFaceFront">CullFaceFront</a></li>
+						<li><a href="global.html#CullFaceFrontBack">CullFaceFrontBack</a></li>
+						<li><a href="global.html#CullFaceNone">CullFaceNone</a></li>
+						<li><a href="global.html#CustomBlending">CustomBlending</a></li>
+						<li><a href="global.html#CustomToneMapping">CustomToneMapping</a></li>
+						<li><a href="global.html#DATA">DATA</a></li>
+						<li><a href="global.html#DecrementStencilOp">DecrementStencilOp</a></li>
+						<li><a href="global.html#DecrementWrapStencilOp">DecrementWrapStencilOp</a></li>
+						<li><a href="global.html#DefaultLoadingManager">DefaultLoadingManager</a></li>
+						<li><a href="global.html#DepthFormat">DepthFormat</a></li>
+						<li><a href="global.html#DepthStencilFormat">DepthStencilFormat</a></li>
+						<li><a href="global.html#DetachedBindMode">DetachedBindMode</a></li>
+						<li><a href="global.html#DoubleSide">DoubleSide</a></li>
+						<li><a href="global.html#DstAlphaFactor">DstAlphaFactor</a></li>
+						<li><a href="global.html#DstColorFactor">DstColorFactor</a></li>
+						<li><a href="global.html#DynamicCopyUsage">DynamicCopyUsage</a></li>
+						<li><a href="global.html#DynamicDrawUsage">DynamicDrawUsage</a></li>
+						<li><a href="global.html#DynamicReadUsage">DynamicReadUsage</a></li>
+						<li><a href="global.html#EqualCompare">EqualCompare</a></li>
+						<li><a href="global.html#EqualDepth">EqualDepth</a></li>
+						<li><a href="global.html#EqualStencilFunc">EqualStencilFunc</a></li>
+						<li><a href="global.html#EquirectangularReflectionMapping">EquirectangularReflectionMapping</a></li>
+						<li><a href="global.html#EquirectangularRefractionMapping">EquirectangularRefractionMapping</a></li>
+						<li><a href="global.html#FloatType">FloatType</a></li>
+						<li><a href="global.html#FrontSide">FrontSide</a></li>
+						<li><a href="global.html#GLSL1">GLSL1</a></li>
+						<li><a href="global.html#GLSL3">GLSL3</a></li>
+						<li><a href="global.html#GreaterCompare">GreaterCompare</a></li>
+						<li><a href="global.html#GreaterDepth">GreaterDepth</a></li>
+						<li><a href="global.html#GreaterEqualCompare">GreaterEqualCompare</a></li>
+						<li><a href="global.html#GreaterEqualDepth">GreaterEqualDepth</a></li>
+						<li><a href="global.html#GreaterEqualStencilFunc">GreaterEqualStencilFunc</a></li>
+						<li><a href="global.html#GreaterStencilFunc">GreaterStencilFunc</a></li>
+						<li><a href="global.html#HalfFloatType">HalfFloatType</a></li>
+						<li><a href="global.html#IncrementStencilOp">IncrementStencilOp</a></li>
+						<li><a href="global.html#IncrementWrapStencilOp">IncrementWrapStencilOp</a></li>
+						<li><a href="global.html#IntType">IntType</a></li>
+						<li><a href="global.html#InterpolateDiscrete">InterpolateDiscrete</a></li>
+						<li><a href="global.html#InterpolateLinear">InterpolateLinear</a></li>
+						<li><a href="global.html#InterpolateSmooth">InterpolateSmooth</a></li>
+						<li><a href="global.html#InterpolationSamplingMode">InterpolationSamplingMode</a></li>
+						<li><a href="global.html#InterpolationSamplingType">InterpolationSamplingType</a></li>
+						<li><a href="global.html#InvertStencilOp">InvertStencilOp</a></li>
+						<li><a href="global.html#KHR_mesh_quantization_ExtraAttrTypes">KHR_mesh_quantization_ExtraAttrTypes</a></li>
+						<li><a href="global.html#KeepStencilOp">KeepStencilOp</a></li>
+						<li><a href="global.html#LessCompare">LessCompare</a></li>
+						<li><a href="global.html#LessDepth">LessDepth</a></li>
+						<li><a href="global.html#LessEqualCompare">LessEqualCompare</a></li>
+						<li><a href="global.html#LessEqualDepth">LessEqualDepth</a></li>
+						<li><a href="global.html#LessEqualStencilFunc">LessEqualStencilFunc</a></li>
+						<li><a href="global.html#LessStencilFunc">LessStencilFunc</a></li>
+						<li><a href="global.html#LinearFilter">LinearFilter</a></li>
+						<li><a href="global.html#LinearMipmapLinearFilter">LinearMipmapLinearFilter</a></li>
+						<li><a href="global.html#LinearMipmapNearestFilter">LinearMipmapNearestFilter</a></li>
+						<li><a href="global.html#LinearSRGBColorSpace">LinearSRGBColorSpace</a></li>
+						<li><a href="global.html#LinearToneMapping">LinearToneMapping</a></li>
+						<li><a href="global.html#LinearTransfer">LinearTransfer</a></li>
+						<li><a href="global.html#LoopOnce">LoopOnce</a></li>
+						<li><a href="global.html#LoopPingPong">LoopPingPong</a></li>
+						<li><a href="global.html#LoopRepeat">LoopRepeat</a></li>
+						<li><a href="global.html#MOUSE">MOUSE</a></li>
+						<li><a href="global.html#MaxEquation">MaxEquation</a></li>
+						<li><a href="global.html#MinEquation">MinEquation</a></li>
+						<li><a href="global.html#MirroredRepeatWrapping">MirroredRepeatWrapping</a></li>
+						<li><a href="global.html#MixOperation">MixOperation</a></li>
+						<li><a href="global.html#MultiplyBlending">MultiplyBlending</a></li>
+						<li><a href="global.html#MultiplyOperation">MultiplyOperation</a></li>
+						<li><a href="global.html#NearestFilter">NearestFilter</a></li>
+						<li><a href="global.html#NearestMipmapLinearFilter">NearestMipmapLinearFilter</a></li>
+						<li><a href="global.html#NearestMipmapNearestFilter">NearestMipmapNearestFilter</a></li>
+						<li><a href="global.html#NeutralToneMapping">NeutralToneMapping</a></li>
+						<li><a href="global.html#NeverCompare">NeverCompare</a></li>
+						<li><a href="global.html#NeverDepth">NeverDepth</a></li>
+						<li><a href="global.html#NeverStencilFunc">NeverStencilFunc</a></li>
+						<li><a href="global.html#NoBlending">NoBlending</a></li>
+						<li><a href="global.html#NoColorSpace">NoColorSpace</a></li>
+						<li><a href="global.html#NoToneMapping">NoToneMapping</a></li>
+						<li><a href="global.html#NodeAccess">NodeAccess</a></li>
+						<li><a href="global.html#NodeShaderStage">NodeShaderStage</a></li>
+						<li><a href="global.html#NodeType">NodeType</a></li>
+						<li><a href="global.html#NodeUpdateType">NodeUpdateType</a></li>
+						<li><a href="global.html#NormalAnimationBlendMode">NormalAnimationBlendMode</a></li>
+						<li><a href="global.html#NormalBlending">NormalBlending</a></li>
+						<li><a href="global.html#NotEqualCompare">NotEqualCompare</a></li>
+						<li><a href="global.html#NotEqualDepth">NotEqualDepth</a></li>
+						<li><a href="global.html#NotEqualStencilFunc">NotEqualStencilFunc</a></li>
+						<li><a href="global.html#ObjectSpaceNormalMap">ObjectSpaceNormalMap</a></li>
+						<li><a href="global.html#OnMaterialUpdate">OnMaterialUpdate</a></li>
+						<li><a href="global.html#OnObjectUpdate">OnObjectUpdate</a></li>
+						<li><a href="global.html#OneFactor">OneFactor</a></li>
+						<li><a href="global.html#OneMinusConstantAlphaFactor">OneMinusConstantAlphaFactor</a></li>
+						<li><a href="global.html#OneMinusConstantColorFactor">OneMinusConstantColorFactor</a></li>
+						<li><a href="global.html#OneMinusDstAlphaFactor">OneMinusDstAlphaFactor</a></li>
+						<li><a href="global.html#OneMinusDstColorFactor">OneMinusDstColorFactor</a></li>
+						<li><a href="global.html#OneMinusSrcAlphaFactor">OneMinusSrcAlphaFactor</a></li>
+						<li><a href="global.html#OneMinusSrcColorFactor">OneMinusSrcColorFactor</a></li>
+						<li><a href="global.html#PCFShadowFilter">PCFShadowFilter</a></li>
+						<li><a href="global.html#PCFShadowMap">PCFShadowMap</a></li>
+						<li><a href="global.html#PCFSoftShadowFilter">PCFSoftShadowFilter</a></li>
+						<li><a href="global.html#PCFSoftShadowMap">PCFSoftShadowMap</a></li>
+						<li><a href="global.html#RED_GREEN_RGTC2_Format">RED_GREEN_RGTC2_Format</a></li>
+						<li><a href="global.html#RED_RGTC1_Format">RED_RGTC1_Format</a></li>
+						<li><a href="global.html#RGBADepthPacking">RGBADepthPacking</a></li>
+						<li><a href="global.html#RGBAFormat">RGBAFormat</a></li>
+						<li><a href="global.html#RGBAIntegerFormat">RGBAIntegerFormat</a></li>
+						<li><a href="global.html#RGBA_ASTC_10x10_Format">RGBA_ASTC_10x10_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_10x5_Format">RGBA_ASTC_10x5_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_10x6_Format">RGBA_ASTC_10x6_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_10x8_Format">RGBA_ASTC_10x8_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_12x10_Format">RGBA_ASTC_12x10_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_12x12_Format">RGBA_ASTC_12x12_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_4x4_Format">RGBA_ASTC_4x4_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_5x4_Format">RGBA_ASTC_5x4_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_5x5_Format">RGBA_ASTC_5x5_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_6x5_Format">RGBA_ASTC_6x5_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_6x6_Format">RGBA_ASTC_6x6_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_8x5_Format">RGBA_ASTC_8x5_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_8x6_Format">RGBA_ASTC_8x6_Format</a></li>
+						<li><a href="global.html#RGBA_ASTC_8x8_Format">RGBA_ASTC_8x8_Format</a></li>
+						<li><a href="global.html#RGBA_BPTC_Format">RGBA_BPTC_Format</a></li>
+						<li><a href="global.html#RGBA_ETC2_EAC_Format">RGBA_ETC2_EAC_Format</a></li>
+						<li><a href="global.html#RGBA_PVRTC_2BPPV1_Format">RGBA_PVRTC_2BPPV1_Format</a></li>
+						<li><a href="global.html#RGBA_PVRTC_4BPPV1_Format">RGBA_PVRTC_4BPPV1_Format</a></li>
+						<li><a href="global.html#RGBA_S3TC_DXT1_Format">RGBA_S3TC_DXT1_Format</a></li>
+						<li><a href="global.html#RGBA_S3TC_DXT3_Format">RGBA_S3TC_DXT3_Format</a></li>
+						<li><a href="global.html#RGBA_S3TC_DXT5_Format">RGBA_S3TC_DXT5_Format</a></li>
+						<li><a href="global.html#RGBDepthPacking">RGBDepthPacking</a></li>
+						<li><a href="global.html#RGBFormat">RGBFormat</a></li>
+						<li><a href="global.html#RGBIntegerFormat">RGBIntegerFormat</a></li>
+						<li><a href="global.html#RGB_BPTC_SIGNED_Format">RGB_BPTC_SIGNED_Format</a></li>
+						<li><a href="global.html#RGB_BPTC_UNSIGNED_Format">RGB_BPTC_UNSIGNED_Format</a></li>
+						<li><a href="global.html#RGB_ETC1_Format">RGB_ETC1_Format</a></li>
+						<li><a href="global.html#RGB_ETC2_Format">RGB_ETC2_Format</a></li>
+						<li><a href="global.html#RGB_PVRTC_2BPPV1_Format">RGB_PVRTC_2BPPV1_Format</a></li>
+						<li><a href="global.html#RGB_PVRTC_4BPPV1_Format">RGB_PVRTC_4BPPV1_Format</a></li>
+						<li><a href="global.html#RGB_S3TC_DXT1_Format">RGB_S3TC_DXT1_Format</a></li>
+						<li><a href="global.html#RGDepthPacking">RGDepthPacking</a></li>
+						<li><a href="global.html#RGFormat">RGFormat</a></li>
+						<li><a href="global.html#RGIntegerFormat">RGIntegerFormat</a></li>
+						<li><a href="global.html#RedFormat">RedFormat</a></li>
+						<li><a href="global.html#RedIntegerFormat">RedIntegerFormat</a></li>
+						<li><a href="global.html#ReinhardToneMapping">ReinhardToneMapping</a></li>
+						<li><a href="global.html#RepeatWrapping">RepeatWrapping</a></li>
+						<li><a href="global.html#ReplaceStencilOp">ReplaceStencilOp</a></li>
+						<li><a href="global.html#ReverseSubtractEquation">ReverseSubtractEquation</a></li>
+						<li><a href="global.html#SIGNED_RED_GREEN_RGTC2_Format">SIGNED_RED_GREEN_RGTC2_Format</a></li>
+						<li><a href="global.html#SIGNED_RED_RGTC1_Format">SIGNED_RED_RGTC1_Format</a></li>
+						<li><a href="global.html#SRGBColorSpace">SRGBColorSpace</a></li>
+						<li><a href="global.html#SRGBTransfer">SRGBTransfer</a></li>
+						<li><a href="global.html#SRGB_TO_LINEAR">SRGB_TO_LINEAR</a></li>
+						<li><a href="global.html#ScriptableNodeResources">ScriptableNodeResources</a></li>
+						<li><a href="global.html#ShortType">ShortType</a></li>
+						<li><a href="global.html#SrcAlphaFactor">SrcAlphaFactor</a></li>
+						<li><a href="global.html#SrcAlphaSaturateFactor">SrcAlphaSaturateFactor</a></li>
+						<li><a href="global.html#SrcColorFactor">SrcColorFactor</a></li>
+						<li><a href="global.html#Stack">Stack</a></li>
+						<li><a href="global.html#StaticCopyUsage">StaticCopyUsage</a></li>
+						<li><a href="global.html#StaticDrawUsage">StaticDrawUsage</a></li>
+						<li><a href="global.html#StaticReadUsage">StaticReadUsage</a></li>
+						<li><a href="global.html#StreamCopyUsage">StreamCopyUsage</a></li>
+						<li><a href="global.html#StreamDrawUsage">StreamDrawUsage</a></li>
+						<li><a href="global.html#StreamReadUsage">StreamReadUsage</a></li>
+						<li><a href="global.html#SubtractEquation">SubtractEquation</a></li>
+						<li><a href="global.html#SubtractiveBlending">SubtractiveBlending</a></li>
+						<li><a href="global.html#TOUCH">TOUCH</a></li>
+						<li><a href="global.html#TangentSpaceNormalMap">TangentSpaceNormalMap</a></li>
+						<li><a href="global.html#TimestampQuery">TimestampQuery</a></li>
+						<li><a href="global.html#TriangleFanDrawMode">TriangleFanDrawMode</a></li>
+						<li><a href="global.html#TriangleStripDrawMode">TriangleStripDrawMode</a></li>
+						<li><a href="global.html#TrianglesDrawMode">TrianglesDrawMode</a></li>
+						<li><a href="global.html#UVMapping">UVMapping</a></li>
+						<li><a href="global.html#UnsignedByteType">UnsignedByteType</a></li>
+						<li><a href="global.html#UnsignedInt101111Type">UnsignedInt101111Type</a></li>
+						<li><a href="global.html#UnsignedInt248Type">UnsignedInt248Type</a></li>
+						<li><a href="global.html#UnsignedInt5999Type">UnsignedInt5999Type</a></li>
+						<li><a href="global.html#UnsignedIntType">UnsignedIntType</a></li>
+						<li><a href="global.html#UnsignedShort4444Type">UnsignedShort4444Type</a></li>
+						<li><a href="global.html#UnsignedShort5551Type">UnsignedShort5551Type</a></li>
+						<li><a href="global.html#UnsignedShortType">UnsignedShortType</a></li>
+						<li><a href="global.html#VK_FORMAT_MAP">VK_FORMAT_MAP</a></li>
+						<li><a href="global.html#VSMPassHorizontal">VSMPassHorizontal</a></li>
+						<li><a href="global.html#VSMPassVertical">VSMPassVertical</a></li>
+						<li><a href="global.html#VSMShadowFilter">VSMShadowFilter</a></li>
+						<li><a href="global.html#VSMShadowMap">VSMShadowMap</a></li>
+						<li><a href="global.html#WebGLCoordinateSystem">WebGLCoordinateSystem</a></li>
+						<li><a href="global.html#WebGPUCoordinateSystem">WebGPUCoordinateSystem</a></li>
+						<li><a href="global.html#WrapAroundEnding">WrapAroundEnding</a></li>
+						<li><a href="global.html#ZeroCurvatureEnding">ZeroCurvatureEnding</a></li>
+						<li><a href="global.html#ZeroFactor">ZeroFactor</a></li>
+						<li><a href="global.html#ZeroSlopeEnding">ZeroSlopeEnding</a></li>
+						<li><a href="global.html#ZeroStencilOp">ZeroStencilOp</a></li>
+						<li><a href="global.html#ceilPowerOfTwo">ceilPowerOfTwo</a></li>
+						<li><a href="global.html#contain">contain</a></li>
+						<li><a href="global.html#convertArray">convertArray</a></li>
+						<li><a href="global.html#cover">cover</a></li>
+						<li><a href="global.html#createEvent">createEvent</a></li>
+						<li><a href="global.html#damp">damp</a></li>
+						<li><a href="global.html#degToRad">degToRad</a></li>
+						<li><a href="global.html#denormalize">denormalize</a></li>
+						<li><a href="global.html#euclideanModulo">euclideanModulo</a></li>
+						<li><a href="global.html#fill">fill</a></li>
+						<li><a href="global.html#flattenJSON">flattenJSON</a></li>
+						<li><a href="global.html#floorPowerOfTwo">floorPowerOfTwo</a></li>
+						<li><a href="global.html#fromHalfFloat">fromHalfFloat</a></li>
+						<li><a href="global.html#generateMagicSquare">generateMagicSquare</a></li>
+						<li><a href="global.html#generateMagicSquareNoise">generateMagicSquareNoise</a></li>
+						<li><a href="global.html#generateUUID">generateUUID</a></li>
+						<li><a href="global.html#getByteLength">getByteLength</a></li>
+						<li><a href="global.html#getCacheKey">getCacheKey</a></li>
+						<li><a href="global.html#getDistanceAttenuation">getDistanceAttenuation</a></li>
+						<li><a href="global.html#getFloatLength">getFloatLength</a></li>
+						<li><a href="global.html#getFormat">getFormat</a></li>
+						<li><a href="global.html#getKeyframeOrder">getKeyframeOrder</a></li>
+						<li><a href="global.html#getMembersLayout">getMembersLayout</a></li>
+						<li><a href="global.html#getStrideLength">getStrideLength</a></li>
+						<li><a href="global.html#getTextureIndex">getTextureIndex</a></li>
+						<li><a href="global.html#getUniforms">getUniforms</a></li>
+						<li><a href="global.html#getVectorLength">getVectorLength</a></li>
+						<li><a href="global.html#getViewZNode">getViewZNode</a></li>
+						<li><a href="global.html#inverseLerp">inverseLerp</a></li>
+						<li><a href="global.html#isPowerOfTwo">isPowerOfTwo</a></li>
+						<li><a href="global.html#isTypedArray">isTypedArray</a></li>
+						<li><a href="global.html#lerp">lerp</a></li>
+						<li><a href="global.html#makeClipAdditive">makeClipAdditive</a></li>
+						<li><a href="global.html#mapLinear">mapLinear</a></li>
+						<li><a href="global.html#pingpong">pingpong</a></li>
+						<li><a href="global.html#radToDeg">radToDeg</a></li>
+						<li><a href="global.html#randFloat">randFloat</a></li>
+						<li><a href="global.html#randFloatSpread">randFloatSpread</a></li>
+						<li><a href="global.html#randInt">randInt</a></li>
+						<li><a href="global.html#sample">sample</a></li>
+						<li><a href="global.html#seededRandom">seededRandom</a></li>
+						<li><a href="global.html#setProjectionFromUnion">setProjectionFromUnion</a></li>
+						<li><a href="global.html#setQuaternionFromProperEuler">setQuaternionFromProperEuler</a></li>
+						<li><a href="global.html#smootherstep">smootherstep</a></li>
+						<li><a href="global.html#sortedArray">sortedArray</a></li>
+						<li><a href="global.html#subclip">subclip</a></li>
+						<li><a href="global.html#toHalfFloat">toHalfFloat</a></li>
+						<li><a href="global.html#updateCamera">updateCamera</a></li>
+						<li><a href="global.html#updateUserCamera">updateUserCamera</a></li>
+						<li><a href="global.html#viewportResolution">viewportResolution</a></li>
+					</ul>
+				</div>
+			</div>
+
+		</div>
+
+		<iframe name="viewer"></iframe>
+
+		<script>
+
+		// Handle legacy URLs from old documentation structure
+		( function handleLegacyURLs() {
+
+			const hash = window.location.hash;
+
+			if ( hash.startsWith( '#api/' ) || hash.startsWith( '#examples/' ) ) {
+
+				const mappings = {
+
+					'3DMLoader': 'Rhino3dmLoader',
+
+					'BufferGeometryUtils': 'module-BufferGeometryUtils',
+					'CameraUtils': 'module-CameraUtils',
+					'SceneUtils': 'module-SceneUtils',
+					'SkeletonUtils': 'module-SkeletonUtils',
+					'UniformsUtils': 'module-UniformsUtils',
+
+					'DefaultLoadingManager': 'LoadingManager',
+					'Interpolations': 'module-Interpolations',
+
+					'Animation': 'global',
+					'BufferAttributeUsage': 'global',
+					'Core': 'global',
+					'CustomBlendingEquations': 'global',
+					'Materials': 'global',
+					'Textures': 'global'
+				};
+
+				const parts = hash.split( '/' );
+				let className = parts[ parts.length - 1 ];
+
+				if ( className ) {
+
+					if ( className in mappings ) className = mappings[ className ];
+
+					window.location.hash = className;
+
+				}
+
+			}
+
+		} )();
+
+		const panel = document.getElementById( 'panel' );
+		const content = document.getElementById( 'content' );
+		const expandButton = document.getElementById( 'expandButton' );
+		const clearSearchButton = document.getElementById( 'clearSearchButton' );
+		const panelScrim = document.getElementById( 'panelScrim' );
+		const filterInput = document.getElementById( 'filterInput' );
+		let iframe = document.getElementsByName( 'viewer' )[ 0 ];
+
+		const pageLinks = {};
+		let navigation;
+		let isUserClick = false;
+		let searchData;
+
+		fetch( 'search.json' )
+			.then( response => response.json() )
+			.then( data => {
+
+				searchData = data;
+
+				if ( filterInput.value !== '' ) {
+
+					updateFilter();
+
+				}
+
+			} )
+			.catch( err => console.error( 'Failed to load search data:', err ) );
+
+		init();
+
+		function init() {
+
+			expandButton.onclick = function ( event ) {
+
+				event.preventDefault();
+				panel.classList.toggle( 'open' );
+
+			};
+
+			panelScrim.onclick = function ( event ) {
+
+				event.preventDefault();
+				panel.classList.toggle( 'open' );
+
+			};
+
+			filterInput.onfocus = function () {
+
+				panel.classList.add( 'searchFocused' );
+
+			};
+
+			filterInput.onblur = function () {
+
+				if ( filterInput.value === '' ) {
+
+					panel.classList.remove( 'searchFocused' );
+
+				}
+
+			};
+
+			filterInput.oninput = function () {
+
+				updateFilter();
+
+			};
+
+			clearSearchButton.onclick = function () {
+
+				filterInput.value = '';
+				updateFilter();
+				filterInput.focus();
+
+			};
+
+			window.onpopstate = createNewIframe;
+
+			setupNavigation();
+			createNewIframe();
+
+			filterInput.value = extractQuery();
+
+			if ( filterInput.value !== '' ) {
+
+				panel.classList.add( 'searchFocused' );
+
+			}
+
+		}
+
+		// Navigation Panel
+
+		function setupNavigation() {
+
+			navigation = content;
+
+			const selectedPage = window.location.hash.substring( 1 );
+
+			const links = navigation.querySelectorAll( 'a' );
+
+			links.forEach( link => {
+
+				const href = link.getAttribute( 'href' );
+
+				if ( href && href.includes( '.html' ) ) {
+
+					const match = href.match( /^([^#]+\.html)(#.*)?$/ );
+					if ( ! match ) return;
+
+					const htmlFile = match[ 1 ];
+					const anchor = match[ 2 ] || '';
+					const pageName = htmlFile.replace( /\.html$/, '' );
+					const fullPageName = pageName + anchor.replace( '#', '.' );
+					const pageURL = 'pages/' + htmlFile;
+
+					link.setAttribute( 'href', pageURL + anchor );
+					link.setAttribute( 'target', 'viewer' );
+					link.addEventListener( 'click', function ( event ) {
+
+						if ( event.button !== 0 || event.ctrlKey || event.altKey || event.metaKey ) return;
+
+						event.preventDefault();
+						isUserClick = true;
+						window.location.hash = fullPageName;
+						panel.classList.remove( 'open' );
+
+						navigation.querySelectorAll( 'a' ).forEach( function ( item ) {
+
+							item.classList.remove( 'selected' );
+
+						} );
+
+						link.classList.add( 'selected' );
+
+					} );
+
+					pageLinks[ fullPageName ] = {
+						linkElement: link,
+						pageURL: pageURL,
+						anchor: anchor,
+						href: href
+					};
+
+					if ( ! pageLinks[ pageName ] ) {
+
+						pageLinks[ pageName ] = {
+							linkElement: link,
+							pageURL: pageURL,
+							anchor: '',
+							href: htmlFile
+						};
+
+					}
+
+					if ( fullPageName === selectedPage || pageName === selectedPage ) {
+
+						link.classList.add( 'selected' );
+						scrollIntoViewVertical( link );
+
+					}
+
+				}
+
+			} );
+
+		}
+
+		function scrollIntoViewVertical( element ) {
+
+			const container = document.getElementById( 'content' );
+			const elementTop = element.offsetTop;
+			const elementHeight = element.offsetHeight;
+			const viewportHeight = window.innerHeight;
+
+			// Scroll to center the element vertically using viewport height
+			const scrollTop = elementTop - ( viewportHeight / 2 ) + ( elementHeight / 2 );
+			container.scrollTop = scrollTop;
+
+		}
+
+		function extractQuery() {
+
+			const search = window.location.search;
+
+			if ( search.indexOf( '?q=' ) !== - 1 ) {
+
+				return decodeURI( search.slice( 3 ) );
+
+			}
+
+			return '';
+
+		}
+
+		function escapeRegExp( string ) {
+
+			string = string.replace( /[.*+?^${}()|[\]\\]/g, '\\$&' );
+			return '(?=.*' + string.split( ' ' ).join( ')(?=.*' ) + ')';
+
+		}
+
+		function updateFilter() {
+
+			let v = filterInput.value.trim();
+			v = v.replace( /\s+/gi, ' ' );
+
+			const searchResults = document.getElementById( 'searchResults' );
+			const content = document.getElementById( 'content' );
+
+			if ( v !== '' ) {
+
+				window.history.replaceState( {}, '', '?q=' + v + window.location.hash );
+
+				// Show search results, hide navigation
+				searchResults.style.display = 'block';
+				content.style.display = 'none';
+
+				if ( searchData === undefined ) {
+
+					searchResults.innerHTML = '<div style="padding: 16px; color: #999;">Loading search data...</div>';
+					return;
+
+				}
+
+				const regExp = new RegExp( escapeRegExp( v ), 'gi' );
+				const highlightRegExp = new RegExp( v.replace( /[.*+?^${}()|[\]\\]/g, '\\$&' ), 'gi' );
+
+				// Search through all categories
+				const results = [];
+				for ( const category in searchData ) {
+
+					const items = searchData[ category ];
+					for ( const item of items ) {
+
+						if ( item.title.match( regExp ) ) {
+
+							results.push( { ...item, category } );
+
+						}
+
+					}
+
+				}
+
+				// Display results
+				if ( results.length > 0 ) {
+
+					// Group results by class
+					const grouped = {};
+					results.forEach( item => {
+
+						const parts = item.title.split( /[#~]/ );
+						const className = parts[ 0 ];
+						const memberName = parts[ 1 ];
+
+						if ( ! grouped[ className ] ) {
+
+							grouped[ className ] = {
+								class: null,
+								members: [],
+								category: item.category
+							};
+
+						}
+
+						// Convert title to hash: "BoxHelper#update" -> "BoxHelper.update"
+						const fullHash = item.title.replace( /[#~]/g, '.' );
+
+						if ( memberName ) {
+
+							if ( memberName.match( regExp ) ) {
+
+								grouped[ className ].members.push( {
+									name: memberName,
+									hash: fullHash,
+									kind: item.kind
+								} );
+
+							}
+
+						} else {
+
+							grouped[ className ].class = {
+								name: className,
+								hash: fullHash
+							};
+
+						}
+
+					} );
+
+					// Helper function to highlight matching text
+					function highlightMatch( text, regExp ) {
+
+						return text.replace( regExp, match => `<strong>${match}</strong>` );
+
+					}
+
+					// Group by category
+					const byCategory = {};
+					for ( const className in grouped ) {
+
+						const group = grouped[ className ];
+						const category = group.category || 'Other';
+
+						if ( ! byCategory[ category ] ) {
+
+							byCategory[ category ] = {};
+
+						}
+
+						byCategory[ category ][ className ] = group;
+
+					}
+
+					// Render grouped results with category headers
+					const currentHash = window.location.hash.substring( 1 );
+					let html = '';
+
+					const categories = Object.keys( searchData );
+					for ( const category of categories ) {
+
+						if ( ! byCategory[ category ] ) continue;
+
+						html += `<h2>${category}</h2>`;
+
+						for ( const className in byCategory[ category ] ) {
+
+							const group = byCategory[ category ][ className ];
+
+							if ( group.class ) {
+
+								html += '<div class="search-result-group">';
+								const selectedClass = group.class.hash === currentHash ? ' selected' : '';
+								const highlightedName = highlightMatch( group.class.name, highlightRegExp );
+								html += `<a href="#${group.class.hash}" class="search-result-class${selectedClass}">${highlightedName}</a>`;
+
+							}
+
+							if ( group.members.length > 0 ) {
+
+								if ( ! group.class ) {
+
+									html += '<div class="search-result-group">';
+									html += `<a href="#${className}" class="search-result-class">${className}</a>`;
+
+								}
+
+								group.members.forEach( member => {
+
+									const selectedClass = member.hash === currentHash ? ' selected' : '';
+									const highlightedName = highlightMatch( member.name, highlightRegExp );
+									const suffix = member.kind === 'function' ? '()' : '';
+									html += `<a href="#${member.hash}" class="search-result-member${selectedClass}">.${highlightedName}${suffix}</a>`;
+
+								} );
+
+							}
+
+							if ( group.class || group.members.length > 0 ) {
+
+								html += '</div>';
+
+							}
+
+						}
+
+					}
+
+					searchResults.innerHTML = html;
+
+					// Add click handlers to update selection
+					searchResults.querySelectorAll( 'a' ).forEach( link => {
+
+						link.addEventListener( 'click', function () {
+
+							// Remove selected class from all links
+							searchResults.querySelectorAll( 'a' ).forEach( item => {
+
+								item.classList.remove( 'selected' );
+
+							} );
+							// Add selected class to clicked link
+							link.classList.add( 'selected' );
+
+						} );
+
+					} );
+
+				} else {
+
+					searchResults.innerHTML = '<div style="padding: 16px; color: #999;">No results found.</div>';
+
+				}
+
+			} else {
+
+				window.history.replaceState( {}, '', window.location.pathname + window.location.hash );
+
+				// Hide search results, show navigation
+				searchResults.style.display = 'none';
+				content.style.display = 'block';
+
+				// Highlight and scroll to current page in navigation
+				const currentHash = window.location.hash.substring( 1 );
+				if ( currentHash ) {
+
+					// Extract the base page name (before the first dot for members)
+					const basePage = currentHash.split( '.' )[ 0 ];
+
+					// Find and highlight the link in navigation
+					const pageInfo = pageLinks[ basePage ];
+					if ( pageInfo ) {
+
+						// Remove selected class from all links
+						navigation.querySelectorAll( 'a' ).forEach( function ( item ) {
+
+							item.classList.remove( 'selected' );
+
+						} );
+
+						// Add selected class to current page
+						pageInfo.linkElement.classList.add( 'selected' );
+
+						// Scroll the link into view
+						scrollIntoViewVertical( pageInfo.linkElement );
+
+					}
+
+				}
+
+			}
+
+		}
+
+		// Routing
+
+		function createNewIframe() {
+
+			const hash = window.location.hash.substring( 1 );
+
+			// Parse hash: "global.Break" -> pageName: "global", anchor: "#Break"
+			// or "BoxHelper" -> pageName: "BoxHelper", anchor: ""
+			let pageName, anchor;
+			const dotIndex = hash.indexOf( '.' );
+
+			if ( dotIndex !== - 1 ) {
+
+				pageName = hash.substring( 0, dotIndex );
+				anchor = '#' + hash.substring( dotIndex + 1 );
+
+			} else {
+
+				pageName = hash;
+				anchor = '';
+
+			}
+
+			let subtitle = '';
+
+			const oldIframe = iframe;
+			iframe = oldIframe.cloneNode();
+
+			iframe.style.display = 'none';
+
+			// Try to find the page link - first with full hash (e.g., "global.Break"), then without anchor
+			const fullPageName = hash;
+			let pageLink = pageLinks[ fullPageName ] || pageLinks[ pageName ];
+
+			// If not found and hash doesn't contain a dot, try TSL.{hash} or global.{hash}
+			if ( ! pageLink && dotIndex === - 1 && hash ) {
+
+				pageLink = pageLinks[ 'TSL.' + hash ] || pageLinks[ 'global.' + hash ];
+
+				// Update the hash to the full path
+				if ( pageLink ) {
+
+					const prefix = pageLinks[ 'TSL.' + hash ] ? 'TSL' : 'global';
+					window.history.replaceState( {}, '', window.location.pathname + window.location.search + '#' + prefix + '.' + hash );
+
+				}
+
+			}
+
+			if ( hash && pageLink ) {
+
+				iframe.onload = function () {
+
+					iframe.style.display = 'unset';
+
+					// Intercept clicks on internal documentation links in the iframe
+					setupIframeLinks();
+
+				};
+
+				// Use the stored anchor if available, otherwise use the parsed one
+				const iframeAnchor = pageLink.anchor || anchor;
+				iframe.src = pageLink.pageURL + iframeAnchor;
+				subtitle = hash + ' – ';
+
+				// Update navigation selection and scroll into view
+				navigation.querySelectorAll( 'a' ).forEach( function ( item ) {
+
+					item.classList.remove( 'selected' );
+
+				} );
+
+				if ( pageLink.linkElement ) {
+
+					pageLink.linkElement.classList.add( 'selected' );
+
+					// Only scroll if this is not a user click (user clicks handle their own smooth scrolling)
+					if ( ! isUserClick ) {
+
+						scrollIntoViewVertical( pageLink.linkElement );
+
+					}
+
+					isUserClick = false;
+
+				}
+
+			} else {
+
+				iframe.src = '';
+				subtitle = '';
+
+			}
+
+			document.body.replaceChild( iframe, oldIframe );
+			document.title = subtitle + 'three.js docs';
+
+		}
+
+		function setupIframeLinks() {
+
+			try {
+
+				// Get the iframe's document
+				const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
+
+				// Find all links in the iframe
+				const links = iframeDoc.querySelectorAll( 'a' );
+
+				links.forEach( function ( link ) {
+
+					link.addEventListener( 'click', function ( event ) {
+
+						const href = link.getAttribute( 'href' );
+
+						// Only handle relative links to .html files (with or without anchors)
+						if ( href && ! href.startsWith( 'http' ) && href.includes( '.html' ) ) {
+
+							event.preventDefault();
+
+							// Parse href: "global.html#Break" -> "global.Break" or "Light.html" -> "Light"
+							const match = href.match( /^([^#]+\.html)(#.*)?$/ );
+							if ( match ) {
+
+								const htmlFile = match[ 1 ];
+								const anchor = match[ 2 ] || '';
+								const pageName = htmlFile.replace( /\.html$/, '' );
+								// Convert to dot notation: "global.html#Break" -> "global.Break"
+								const fullHash = pageName + anchor.replace( '#', '.' );
+
+								// Update the parent page's hash
+								window.location.hash = fullHash;
+
+							}
+
+						}
+
+					} );
+
+				} );
+
+			} catch ( e ) {
+
+				// Ignore cross-origin errors
+				console.error( 'Could not set up iframe links:', e );
+
+			}
+
+		}
+
+		//
+
+		console.log( [
+			'    __     __',
+			' __/ __\\  / __\\__   ____   _____   _____',
+			'/ __/  /\\/ /  /___\\/ ____\\/ _____\\/ _____\\',
+			'\\/_   __/ /   _   / /  __/ / __  / / __  /_   __   _____',
+			'/ /  / / /  / /  / /  / / /  ___/ /  ___/\\ _\\/ __\\/ _____\\',
+			'\\/__/  \\/__/\\/__/\\/__/  \\/_____/\\/_____/\\/__/ /  / /  ___/',
+			'                                         / __/  /  \\__  \\',
+			'                                         \\/____/\\/_____/'
+		].join( '\n' ) );
+
+		</script>
+
+	</body>
+
+</html>

+ 106 - 0
docs/pages/AMFLoader.html

@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AMFLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">AMFLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A loader for the AMF format.</p>
+<p>The loader supports materials, color and ZIP compressed files.
+No constellation support (yet).</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const loader = new AMFLoader();
+const object = await loader.loadAsync( './models/amf/rook.amf' );
+scene.add( object );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AMFLoader</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AMFLoader } from 'three/addons/loaders/AMFLoader.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AMFLoader" translate="no">new <a href="#AMFLoader">AMFLoader</a><span class="signature">( manager : <span class="param-type">LoadingManager</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new AMF loader.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>manager</code></td>
+									<td class="description last"><p>The loading manager.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and passes the loaded AMF asset
+to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="parse" translate="no">.<a href="#parse">parse</a><span class="signature">( data : <span class="param-type">ArrayBuffer</span> )</span><span class="type-signature"> : <a href="Group.html">Group</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the given AMF data and returns the resulting group.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>The raw AMF asset data as an array buffer.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#parse">Loader#parse</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A group representing the parsed asset.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/AMFLoader.js" target="_blank" rel="noopener" translate="no">examples/jsm/loaders/AMFLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 54 - 0
docs/pages/AONode.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AONode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="LightingNode.html">LightingNode</a> → </p>
+	<h1 translate="no">AONode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A generic class that can be used by nodes which contribute
+ambient occlusion to the scene. E.g. an ambient occlusion map
+node can be used as input for this module. Used in <a href="NodeMaterial.html">NodeMaterial</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AONode" translate="no">new <a href="#AONode">AONode</a><span class="signature">( aoNode : <span class="param-type">Node.&lt;float></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new AO node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>aoNode</code></td>
+									<td class="description last"><p>The ambient occlusion node.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="aoNode" translate="no">.<a href="#aoNode">aoNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>The ambient occlusion node.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/lighting/AONode.js" target="_blank" rel="noopener" translate="no">src/nodes/lighting/AONode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 61 - 0
docs/pages/ARButton.html

@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ARButton - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">ARButton</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A utility class for creating a button that allows to initiate
+immersive AR sessions based on WebXR. The button can be created
+with a factory method and then appended ot the website's DOM.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">document.body.appendChild( ARButton.createButton( renderer ) );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ARButton</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { ARButton } from 'three/addons/webxr/ARButton.js';</code></pre>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".createButton" translate="no">.<a href="#.createButton">createButton</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer | WebGPURenderer</span>, sessionInit : <span class="param-type">XRSessionInit</span> )</span><span class="type-signature"> : HTMLElement</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new AR button.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>sessionInit</code></td>
+									<td class="description last"><p>The a configuration object for the AR session.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The button or an error message if <code>immersive-ar</code> isn't supported.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/webxr/ARButton.js" target="_blank" rel="noopener" translate="no">examples/jsm/webxr/ARButton.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 158 - 0
docs/pages/AfterImageNode.html

@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AfterImageNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">AfterImageNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Post processing node for creating an after image effect.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AfterImageNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { afterImage } from 'three/addons/tsl/display/AfterImageNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AfterImageNode" translate="no">new <a href="#AfterImageNode">AfterImageNode</a><span class="signature">( textureNode : <span class="param-type">TextureNode</span>, damp : <span class="param-type">Node.&lt;float></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new after image node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>textureNode</code></td>
+									<td class="description last"><p>The texture node that represents the input of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>damp</code></td>
+									<td class="description last"><p>The damping intensity. A higher value means a stronger after image effect.<br/>Default is <code>0.96</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="damp" translate="no">.<a href="#damp">damp</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>How quickly the after-image fades. A higher value means the after-image
+persists longer, while a lower value means it fades faster. Should be in
+the range <code>[0, 1]</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="textureNode" translate="no">.<a href="#textureNode">textureNode</a><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
+					<div class="description">
+						<p>The texture node that represents the input of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="textureNodeOld" translate="no">.<a href="#textureNodeOld">textureNodeOld</a><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
+					<div class="description">
+						<p>The texture represents the pervious frame.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateBeforeType" translate="no">.<a href="#updateBeforeType">updateBeforeType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The <code>updateBeforeType</code> is set to <code>NodeUpdateType.FRAME</code> since the node renders
+its effect once per frame in <code>updateBefore()</code>.<br/>Default is <code>'frame'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBeforeType">TempNode#updateBeforeType</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees internal resources. This method should be called
+when the effect is no longer required.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#dispose">TempNode#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getTextureNode" translate="no">.<a href="#getTextureNode">getTextureNode</a><span class="signature">()</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the result of the effect as a texture node.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A texture node that represents the result of the effect.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the effect.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to setup the effect's TSL code.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#setup">TempNode#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateBefore" translate="no">.<a href="#updateBefore">updateBefore</a><span class="signature">( frame : <span class="param-type">NodeFrame</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to render the effect once per frame.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frame</code></td>
+									<td class="description last"><p>The current node frame.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBefore">TempNode#updateBefore</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/tsl/display/AfterImageNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/tsl/display/AfterImageNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 147 - 0
docs/pages/AfterimagePass.html

@@ -0,0 +1,147 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AfterimagePass - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Pass.html">Pass</a> → </p>
+	<h1 translate="no">AfterimagePass</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Pass for a basic after image effect.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const afterimagePass = new AfterimagePass( 0.9 );
+composer.addPass( afterimagePass );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AfterimagePass</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AfterimagePass } from 'three/addons/postprocessing/AfterimagePass.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AfterimagePass" translate="no">new <a href="#AfterimagePass">AfterimagePass</a><span class="signature">( damp : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new after image pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>damp</code></td>
+									<td class="description last"><p>The damping intensity. A higher value means a stronger after image effect.<br/>Default is <code>0.96</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="compFsMaterial" translate="no">.<a href="#compFsMaterial">compFsMaterial</a><span class="type-signature"> : <a href="ShaderMaterial.html">ShaderMaterial</a></span> </h3>
+					<div class="description">
+						<p>The composition material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="copyFsMaterial" translate="no">.<a href="#copyFsMaterial">copyFsMaterial</a><span class="type-signature"> : <a href="ShaderMaterial.html">ShaderMaterial</a></span> </h3>
+					<div class="description">
+						<p>The copy material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="damp" translate="no">.<a href="#damp">damp</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The damping intensity, from 0.0 to 1.0. A higher value means a stronger after image effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="uniforms" translate="no">.<a href="#uniforms">uniforms</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>The pass uniforms. Use this object if you want to update the
+<code>damp</code> value at runtime.</p>
+<pre><code class="language-js">pass.uniforms.damp.value = 0.9;
+</code></pre>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever the pass is no longer used in your app.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#dispose">Pass#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, writeBuffer : <span class="param-type">WebGLRenderTarget</span>, readBuffer : <span class="param-type">WebGLRenderTarget</span>, deltaTime : <span class="param-type">number</span>, maskActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs the after image pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>writeBuffer</code></td>
+									<td class="description last"><p>The write buffer. This buffer is intended as the rendering
+destination for the pass.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>readBuffer</code></td>
+									<td class="description last"><p>The read buffer. The pass can access the result from the
+previous pass from this buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maskActive</code></td>
+									<td class="description last"><p>Whether masking is active or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#render">Pass#render</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#setSize">Pass#setSize</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/AfterimagePass.js" target="_blank" rel="noopener" translate="no">examples/jsm/postprocessing/AfterimagePass.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 61 - 0
docs/pages/AmbientLight.html

@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AmbientLight - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Light.html">Light</a> → </p>
+	<h1 translate="no">AmbientLight</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This light globally illuminates all objects in the scene equally.</p>
+<p>It cannot be used to cast shadows as it does not have a direction.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const light = new THREE.AmbientLight( 0x404040 ); // soft white light
+scene.add( light );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AmbientLight" translate="no">new <a href="#AmbientLight">AmbientLight</a><span class="signature">( color : <span class="param-type">number | Color | string</span>, intensity : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new ambient light.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The light's color.<br/>Default is <code>0xffffff</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>intensity</code></td>
+									<td class="description last"><p>The light's strength/intensity.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isAmbientLight" translate="no">.<a href="#isAmbientLight">isAmbientLight</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/lights/AmbientLight.js" target="_blank" rel="noopener" translate="no">src/lights/AmbientLight.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 45 - 0
docs/pages/AmbientLightNode.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AmbientLightNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="LightingNode.html">LightingNode</a> → <a href="AnalyticLightNode.html">AnalyticLightNode</a> → </p>
+	<h1 translate="no">AmbientLightNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Module for representing ambient lights as nodes.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AmbientLightNode" translate="no">new <a href="#AmbientLightNode">AmbientLightNode</a><span class="signature">( light : <span class="param-type">AmbientLight</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new ambient light node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>light</code></td>
+									<td class="description last"><p>The ambient light source.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/lighting/AmbientLightNode.js" target="_blank" rel="noopener" translate="no">src/nodes/lighting/AmbientLightNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 101 - 0
docs/pages/AmmoPhysics.html

@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AmmoPhysics - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AmmoPhysics</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Can be used to include Ammo.js as a Physics engine into
+<code>three.js</code> apps. Make sure to include <code>ammo.wasm.js</code> first:</p>
+<p>It is then possible to initialize the API via:</p>
+<pre><code class="language-js">const physics = await AmmoPhysics();
+</code></pre></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre class="prettyprint source"><code>&lt;script src=&quot;jsm/libs/ammo.wasm.js&quot;>&lt;/script>
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AmmoPhysics</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AmmoPhysics } from 'three/addons/physics/AmmoPhysics.js';</code></pre>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="addMesh" translate="no">.<a href="#addMesh">addMesh</a><span class="signature">( mesh : <span class="param-type">Mesh</span>, mass : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given mesh to this physics simulation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mesh</code></td>
+									<td class="description last"><p>The mesh to add.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>mass</code></td>
+									<td class="description last"><p>The mass in kg of the mesh.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="addScene" translate="no">.<a href="#addScene">addScene</a><span class="signature">( scene : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given scene to this physics simulation. Only meshes with a
+<code>physics</code> object in their <a href="Object3D.html#userData">Object3D#userData</a> field will be honored.
+The object can be used to store the mass of the mesh. E.g.:</p>
+<pre><code class="language-js">box.userData.physics = { mass: 1 };
+</code></pre>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene or any type of 3D object to add.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setMeshPosition" translate="no">.<a href="#setMeshPosition">setMeshPosition</a><span class="signature">( mesh : <span class="param-type">Mesh</span>, position : <span class="param-type">Vector3</span>, index : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Set the position of the given mesh which is part of the physics simulation. Calling this
+method will reset the current simulated velocity of the mesh.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mesh</code></td>
+									<td class="description last"><p>The mesh to update the position for.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>position</code></td>
+									<td class="description last"><p>The new position.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>If the mesh is instanced, the index represents the instanced ID.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/physics/AmmoPhysics.js" target="_blank" rel="noopener" translate="no">examples/jsm/physics/AmmoPhysics.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 102 - 0
docs/pages/AnaglyphEffect.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnaglyphEffect - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnaglyphEffect</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A class that creates an anaglyph effect.</p>
+<p>Note that this class can only be used with <a href="WebGLRenderer.html">WebGLRenderer</a>.
+When using <a href="WebGPURenderer.html">WebGPURenderer</a>, use <a href="AnaglyphPassNode.html">AnaglyphPassNode</a>.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AnaglyphEffect</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AnaglyphEffect } from 'three/addons/effects/AnaglyphEffect.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnaglyphEffect" translate="no">new <a href="#AnaglyphEffect">AnaglyphEffect</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new anaglyph effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the effect in physical pixels.<br/>Default is <code>512</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the effect in physical pixels.<br/>Default is <code>512</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees internal resources. This method should be called
+when the effect is no longer required.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( scene : <span class="param-type">Object3D</span>, camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>When using this effect, this method should be called instead of the
+default <a href="WebGLRenderer.html#render">WebGLRenderer#render</a>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene to render.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the effect in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the effect in logical pixels.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/effects/AnaglyphEffect.js" target="_blank" rel="noopener" translate="no">examples/jsm/effects/AnaglyphEffect.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 92 - 0
docs/pages/AnaglyphPassNode.html

@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnaglyphPassNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → <a href="PassNode.html">PassNode</a> → <a href="StereoCompositePassNode.html">StereoCompositePassNode</a> → </p>
+	<h1 translate="no">AnaglyphPassNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A render pass node that creates an anaglyph effect.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AnaglyphPassNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { anaglyphPass } from 'three/addons/tsl/display/AnaglyphPassNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnaglyphPassNode" translate="no">new <a href="#AnaglyphPassNode">AnaglyphPassNode</a><span class="signature">( scene : <span class="param-type">Scene</span>, camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new anaglyph pass node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene to render.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera to render the scene with.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="_colorMatrixLeft" translate="no">.<a href="#_colorMatrixLeft">_colorMatrixLeft</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;mat3></span> </h3>
+					<div class="description">
+						<p>Color matrix node for the left eye.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="_colorMatrixRight" translate="no">.<a href="#_colorMatrixRight">_colorMatrixRight</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;mat3></span> </h3>
+					<div class="description">
+						<p>Color matrix node for the right eye.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isAnaglyphPassNode" translate="no">.<a href="#isAnaglyphPassNode">isAnaglyphPassNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to setup the effect's TSL code.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="StereoCompositePassNode.html#setup">StereoCompositePassNode#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/tsl/display/AnaglyphPassNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/tsl/display/AnaglyphPassNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 217 - 0
docs/pages/AnalyticLightNode.html

@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnalyticLightNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="LightingNode.html">LightingNode</a> → </p>
+	<h1 translate="no">AnalyticLightNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Base class for analytic light nodes.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnalyticLightNode" translate="no">new <a href="#AnalyticLightNode">AnalyticLightNode</a><span class="signature">( light : <span class="param-type">Light</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new analytic light node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>light</code></td>
+									<td class="description last"><p>The light source.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="baseColorNode" translate="no">.<a href="#baseColorNode">baseColorNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>This property is used to retain a reference to the original value of <a href="AnalyticLightNode.html#colorNode">AnalyticLightNode#colorNode</a>.
+The final color node is represented by a different node when using shadows.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="color" translate="no">.<a href="#color">color</a><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="description">
+						<p>The light's color value.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="colorNode" translate="no">.<a href="#colorNode">colorNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The light's color node. Points to <code>colorNode</code> of the light source, if set. Otherwise
+it creates a uniform node based on <a href="AnalyticLightNode.html#color">AnalyticLightNode#color</a>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isAnalyticLightNode" translate="no">.<a href="#isAnalyticLightNode">isAnalyticLightNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="light" translate="no">.<a href="#light">light</a><span class="type-signature"> : <a href="Light.html">Light</a></span> </h3>
+					<div class="description">
+						<p>The light source.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="shadowColorNode" translate="no">.<a href="#shadowColorNode">shadowColorNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>Represents the light's shadow color.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="shadowNode" translate="no">.<a href="#shadowNode">shadowNode</a><span class="type-signature"> : <a href="ShadowNode.html">ShadowNode</a></span> </h3>
+					<div class="description">
+						<p>Represents the light's shadow.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateType" translate="no">.<a href="#updateType">updateType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>Overwritten since analytic light nodes are updated
+once per frame.<br/>Default is <code>'frame'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="LightingNode.html#updateType">LightingNode#updateType</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getLightVector" translate="no">.<a href="#getLightVector">getLightVector</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;vec3></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a node representing a direction vector which points from the current
+position in view space to the light's position in view space.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The builder object used for setting up the light.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The light vector node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Unlike most other nodes, lighting nodes do not return a output node in <a href="Node.html#setup">Node#setup</a>.
+The main purpose of lighting nodes is to configure the current <a href="LightingModel.html">LightingModel</a> and/or
+invocate the respective interface methods.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="LightingNode.html#setup">LightingNode#setup</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupDirect" translate="no">.<a href="#setupDirect">setupDirect</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : Object | undefined</span> <span class="type-signature">(abstract) </span></h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets up the direct lighting for the analytic light node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The builder object used for setting up the light.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The direct light data (color and direction).</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupDirectRectArea" translate="no">.<a href="#setupDirectRectArea">setupDirectRectArea</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : Object | undefined</span> <span class="type-signature">(abstract) </span></h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets up the direct rect area lighting for the analytic light node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The builder object used for setting up the light.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The direct rect area light data.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupShadow" translate="no">.<a href="#setupShadow">setupShadow</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups the shadow for this light. This method is only executed if the light
+cast shadows and the current build object receives shadows. It incorporates
+shadows into the lighting computation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setupShadowNode" translate="no">.<a href="#setupShadowNode">setupShadowNode</a><span class="signature">()</span><span class="type-signature"> : <a href="ShadowNode.html">ShadowNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups the shadow node for this light. The method exists so concrete light classes
+can setup different types of shadow nodes.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created shadow node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">( frame : <span class="param-type">NodeFrame</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>The update method is used to update light uniforms per frame.
+Potentially overwritten in concrete light nodes to update light
+specific uniforms.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frame</code></td>
+									<td class="description last"><p>A reference to the current node frame.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="LightingNode.html#update">LightingNode#update</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/lighting/AnalyticLightNode.js" target="_blank" rel="noopener" translate="no">src/nodes/lighting/AnalyticLightNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 191 - 0
docs/pages/AnamorphicNode.html

@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnamorphicNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">AnamorphicNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Post processing node for adding an anamorphic flare effect.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AnamorphicNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { anamorphic } from 'three/addons/tsl/display/AnamorphicNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnamorphicNode" translate="no">new <a href="#AnamorphicNode">AnamorphicNode</a><span class="signature">( textureNode : <span class="param-type">TextureNode</span>, thresholdNode : <span class="param-type">Node.&lt;float></span>, scaleNode : <span class="param-type">Node.&lt;float></span>, samples : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new anamorphic node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>textureNode</code></td>
+									<td class="description last"><p>The texture node that represents the input of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>thresholdNode</code></td>
+									<td class="description last"><p>The threshold is one option to control the intensity and size of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>scaleNode</code></td>
+									<td class="description last"><p>Defines the vertical scale of the flares.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>samples</code></td>
+									<td class="description last"><p>More samples result in larger flares and a more expensive runtime behavior.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="colorNode" translate="no">.<a href="#colorNode">colorNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;vec3></span> </h3>
+					<div class="description">
+						<p>The color of the flares.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="resolution" translate="no">.<a href="#resolution">resolution</a><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="description">
+						<p>The resolution scale.<br/>Default is <code>{(1,1)}</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="important tag-deprecated"><strong>Deprecated:</strong> Yes</dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="resolutionScale" translate="no">.<a href="#resolutionScale">resolutionScale</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The resolution scale.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="samples" translate="no">.<a href="#samples">samples</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>More samples result in larger flares and a more expensive runtime behavior.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="scaleNode" translate="no">.<a href="#scaleNode">scaleNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>Defines the vertical scale of the flares.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="textureNode" translate="no">.<a href="#textureNode">textureNode</a><span class="type-signature"> : <a href="TextureNode.html">TextureNode</a></span> </h3>
+					<div class="description">
+						<p>The texture node that represents the input of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="thresholdNode" translate="no">.<a href="#thresholdNode">thresholdNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>The threshold is one option to control the intensity and size of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateBeforeType" translate="no">.<a href="#updateBeforeType">updateBeforeType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The <code>updateBeforeType</code> is set to <code>NodeUpdateType.FRAME</code> since the node renders
+its effect once per frame in <code>updateBefore()</code>.<br/>Default is <code>'frame'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBeforeType">TempNode#updateBeforeType</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees internal resources. This method should be called
+when the effect is no longer required.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#dispose">TempNode#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getTextureNode" translate="no">.<a href="#getTextureNode">getTextureNode</a><span class="signature">()</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the result of the effect as a texture node.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A texture node that represents the result of the effect.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the effect.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to setup the effect's TSL code.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#setup">TempNode#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateBefore" translate="no">.<a href="#updateBefore">updateBefore</a><span class="signature">( frame : <span class="param-type">NodeFrame</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to render the effect once per frame.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frame</code></td>
+									<td class="description last"><p>The current node frame.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBefore">TempNode#updateBefore</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/tsl/display/AnamorphicNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/tsl/display/AnamorphicNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 491 - 0
docs/pages/AnimationAction.html

@@ -0,0 +1,491 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationAction - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationAction</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>An instance of <code>AnimationAction</code> schedules the playback of an animation which is
+stored in <a href="AnimationClip.html">AnimationClip</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnimationAction" translate="no">new <a href="#AnimationAction">AnimationAction</a><span class="signature">( mixer : <span class="param-type">AnimationMixer</span>, clip : <span class="param-type">AnimationClip</span>, localRoot : <span class="param-type">Object3D</span>, blendMode : <span class="param-type">NormalAnimationBlendMode | AdditiveAnimationBlendMode</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new animation action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mixer</code></td>
+									<td class="description last"><p>The mixer that is controlled by this action.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>The animation clip that holds the actual keyframes.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>localRoot</code></td>
+									<td class="description last"><p>The root object on which this action is performed.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>blendMode</code></td>
+									<td class="description last"><p>The blend mode.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="blendMode" translate="no">.<a href="#blendMode">blendMode</a><span class="type-signature"> : <a href="global.html#NormalAnimationBlendMode">NormalAnimationBlendMode</a> | <a href="global.html#AdditiveAnimationBlendMode">AdditiveAnimationBlendMode</a></span> </h3>
+					<div class="description">
+						<p>Defines how the animation is blended/combined when two or more animations
+are simultaneously played.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="clampWhenFinished" translate="no">.<a href="#clampWhenFinished">clampWhenFinished</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to true the animation will automatically be paused on its last frame.</p>
+<p>If set to false, <a href="AnimationAction.html#enabled">AnimationAction#enabled</a> will automatically be switched
+to <code>false</code> when the last loop of the action has finished, so that this action has
+no further impact.</p>
+<p>Note: This member has no impact if the action is interrupted (it
+has only an effect if its last loop has really finished).<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enabled" translate="no">.<a href="#enabled">enabled</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to <code>false</code>, the action is disabled so it has no impact.</p>
+<p>When the action is re-enabled, the animation continues from its current
+time (setting <code>enabled</code> to <code>false</code> doesn't reset the action).<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="loop" translate="no">.<a href="#loop">loop</a><span class="type-signature"> : <a href="global.html#LoopRepeat">LoopRepeat</a> | <a href="global.html#LoopOnce">LoopOnce</a> | <a href="global.html#LoopPingPong">LoopPingPong</a></span> </h3>
+					<div class="description">
+						<p>The loop mode, set via <a href="AnimationAction.html#setLoop">AnimationAction#setLoop</a>.<br/>Default is <code>LoopRepeat</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="paused" translate="no">.<a href="#paused">paused</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to <code>true</code>, the playback of the action is paused.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="repetitions" translate="no">.<a href="#repetitions">repetitions</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The number of repetitions of the performed clip over the course of this action.
+Can be set via <a href="AnimationAction.html#setLoop">AnimationAction#setLoop</a>.</p>
+<p>Setting this number has no effect if <a href="AnimationAction.html#loop">AnimationAction#loop</a> is set to
+<code>THREE:LoopOnce</code>.<br/>Default is <code>Infinity</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="time" translate="no">.<a href="#time">time</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The local time of this action (in seconds, starting with <code>0</code>).</p>
+<p>The value gets clamped or wrapped to <code>[0,clip.duration]</code> (according to the
+loop state).<br/>Default is <code>Infinity</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="timeScale" translate="no">.<a href="#timeScale">timeScale</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Scaling factor for the <a href="AnimationAction.html#time">AnimationAction#time</a>. A value of <code>0</code> causes the
+animation to pause. Negative values cause the animation to play backwards.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="weight" translate="no">.<a href="#weight">weight</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The degree of influence of this action (in the interval <code>[0, 1]</code>). Values
+between <code>0</code> (no impact) and <code>1</code> (full impact) can be used to blend between
+several actions.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="zeroSlopeAtEnd" translate="no">.<a href="#zeroSlopeAtEnd">zeroSlopeAtEnd</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enables smooth interpolation without separate clips for start, loop and end.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="zeroSlopeAtStart" translate="no">.<a href="#zeroSlopeAtStart">zeroSlopeAtStart</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enables smooth interpolation without separate clips for start, loop and end.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="crossFadeFrom" translate="no">.<a href="#crossFadeFrom">crossFadeFrom</a><span class="signature">( fadeOutAction : <span class="param-type">AnimationAction</span>, duration : <span class="param-type">number</span>, warp : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Causes this action to fade in and the given action to fade out,
+within the passed time interval.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>fadeOutAction</code></td>
+									<td class="description last"><p>The animation action to fade out.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the fade.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>warp</code></td>
+									<td class="description last"><p>Whether warping should be used or not.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="crossFadeTo" translate="no">.<a href="#crossFadeTo">crossFadeTo</a><span class="signature">( fadeInAction : <span class="param-type">AnimationAction</span>, duration : <span class="param-type">number</span>, warp : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Causes this action to fade out and the given action to fade in,
+within the passed time interval.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>fadeInAction</code></td>
+									<td class="description last"><p>The animation action to fade in.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the fade.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>warp</code></td>
+									<td class="description last"><p>Whether warping should be used or not.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="fadeIn" translate="no">.<a href="#fadeIn">fadeIn</a><span class="signature">( duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Fades the animation in by increasing its weight gradually from <code>0</code> to <code>1</code>,
+within the passed time interval.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the fade.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="fadeOut" translate="no">.<a href="#fadeOut">fadeOut</a><span class="signature">( duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Fades the animation out by decreasing its weight gradually from <code>1</code> to <code>0</code>,
+within the passed time interval.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the fade.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getClip" translate="no">.<a href="#getClip">getClip</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the animation clip of this animation action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getEffectiveTimeScale" translate="no">.<a href="#getEffectiveTimeScale">getEffectiveTimeScale</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the effective time scale of this action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The effective time scale.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getEffectiveWeight" translate="no">.<a href="#getEffectiveWeight">getEffectiveWeight</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the effective weight of this action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The effective weight.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getMixer" translate="no">.<a href="#getMixer">getMixer</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationMixer.html">AnimationMixer</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the animation mixer of this animation action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The animation mixer.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getRoot" translate="no">.<a href="#getRoot">getRoot</a><span class="signature">()</span><span class="type-signature"> : <a href="Object3D.html">Object3D</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the root object of this animation action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The root object.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="halt" translate="no">.<a href="#halt">halt</a><span class="signature">( duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Decelerates this animation's speed to <code>0</code> within the passed time interval.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="isRunning" translate="no">.<a href="#isRunning">isRunning</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the animation is running.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the animation is running or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="isScheduled" translate="no">.<a href="#isScheduled">isScheduled</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> when <a href="AnimationAction.html#play">AnimationAction#play</a> has been called.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the animation is scheduled or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="play" translate="no">.<a href="#play">play</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts the playback of the animation.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="reset" translate="no">.<a href="#reset">reset</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resets the playback of the animation.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setDuration" translate="no">.<a href="#setDuration">setDuration</a><span class="signature">( duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the duration for a single loop of this action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setEffectiveTimeScale" translate="no">.<a href="#setEffectiveTimeScale">setEffectiveTimeScale</a><span class="signature">( timeScale : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the effective time scale of this action.</p>
+<p>An action has no effect and thus an effective time scale of zero when the
+action is paused.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>timeScale</code></td>
+									<td class="description last"><p>The time scale to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setEffectiveWeight" translate="no">.<a href="#setEffectiveWeight">setEffectiveWeight</a><span class="signature">( weight : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the effective weight of this action.</p>
+<p>An action has no effect and thus an effective weight of zero when the
+action is disabled.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>weight</code></td>
+									<td class="description last"><p>The weight to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setLoop" translate="no">.<a href="#setLoop">setLoop</a><span class="signature">( mode : <span class="param-type">LoopRepeat | LoopOnce | LoopPingPong</span>, repetitions : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Configures the loop settings for this action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mode</code></td>
+									<td class="description last"><p>The loop mode.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>repetitions</code></td>
+									<td class="description last"><p>The number of repetitions.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="startAt" translate="no">.<a href="#startAt">startAt</a><span class="signature">( time : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the time when the animation should start.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>time</code></td>
+									<td class="description last"><p>The start time in seconds.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="stop" translate="no">.<a href="#stop">stop</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Stops the playback of the animation.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="stopFading" translate="no">.<a href="#stopFading">stopFading</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Stops any fading which is applied to this action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="stopWarping" translate="no">.<a href="#stopWarping">stopWarping</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Stops any scheduled warping which is applied to this action.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="syncWith" translate="no">.<a href="#syncWith">syncWith</a><span class="signature">( action : <span class="param-type">AnimationAction</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Synchronizes this action with the passed other action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>action</code></td>
+									<td class="description last"><p>The action to sync with.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="warp" translate="no">.<a href="#warp">warp</a><span class="signature">( startTimeScale : <span class="param-type">number</span>, endTimeScale : <span class="param-type">number</span>, duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Changes the playback speed, within the passed time interval, by modifying
+<a href="AnimationAction.html#timeScale">AnimationAction#timeScale</a> gradually from <code>startTimeScale</code> to
+<code>endTimeScale</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>startTimeScale</code></td>
+									<td class="description last"><p>The start time scale.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>endTimeScale</code></td>
+									<td class="description last"><p>The end time scale.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation action.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/AnimationAction.js" target="_blank" rel="noopener" translate="no">src/animation/AnimationAction.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 299 - 0
docs/pages/AnimationClip.html

@@ -0,0 +1,299 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationClip - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationClip</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A reusable set of keyframe tracks which represent an animation.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnimationClip" translate="no">new <a href="#AnimationClip">AnimationClip</a><span class="signature">( name : <span class="param-type">string</span>, duration : <span class="param-type">number</span>, tracks : <span class="param-type">Array.&lt;KeyframeTrack></span>, blendMode : <span class="param-type">NormalAnimationBlendMode | AdditiveAnimationBlendMode</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new animation clip.</p>
+<p>Note: Instead of instantiating an AnimationClip directly with the constructor, you can
+use the static interface of this class for creating clips. In most cases though, animation clips
+will automatically be created by loaders when importing animated 3D assets.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The clip's name.<br/>Default is <code>''</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The clip's duration in seconds. If a negative value is passed,
+the duration will be calculated from the passed keyframes.<br/>Default is <code>-1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>tracks</code></td>
+									<td class="description last"><p>An array of keyframe tracks.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>blendMode</code></td>
+									<td class="description last"><p>Defines how the animation
+is blended/combined when two or more animations are simultaneously played.<br/>Default is <code>NormalAnimationBlendMode</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="blendMode" translate="no">.<a href="#blendMode">blendMode</a><span class="type-signature"> : <a href="global.html#NormalAnimationBlendMode">NormalAnimationBlendMode</a> | <a href="global.html#AdditiveAnimationBlendMode">AdditiveAnimationBlendMode</a></span> </h3>
+					<div class="description">
+						<p>Defines how the animation is blended/combined when two or more animations
+are simultaneously played.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="duration" translate="no">.<a href="#duration">duration</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The clip's duration in seconds.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="name" translate="no">.<a href="#name">name</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The clip's name.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="tracks" translate="no">.<a href="#tracks">tracks</a><span class="type-signature"> : Array.&lt;<a href="KeyframeTrack.html">KeyframeTrack</a>></span> </h3>
+					<div class="description">
+						<p>An array of keyframe tracks.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="userData" translate="no">.<a href="#userData">userData</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>An object that can be used to store custom data about the animation clip.
+It should not hold references to functions as these will not be cloned.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="uuid" translate="no">.<a href="#uuid">uuid</a><span class="type-signature"> : string</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The UUID of the animation clip.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new animation clip with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="optimize" translate="no">.<a href="#optimize">optimize</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Optimizes each track by removing equivalent sequential keys (which are
+common in morph target sequences).</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="resetDuration" translate="no">.<a href="#resetDuration">resetDuration</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the duration of this clip to the duration of its longest keyframe track.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toJSON" translate="no">.<a href="#toJSON">toJSON</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Serializes this animation clip into JSON.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The JSON object.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="trim" translate="no">.<a href="#trim">trim</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Trims all tracks to the clip's duration.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="validate" translate="no">.<a href="#validate">validate</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs minimal validation on each track in the clip. Returns <code>true</code> if all
+tracks are valid.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the clip's keyframes are valid or not.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".CreateClipsFromMorphTargetSequences" translate="no">.<a href="#.CreateClipsFromMorphTargetSequences">CreateClipsFromMorphTargetSequences</a><span class="signature">( morphTargets : <span class="param-type">Array.&lt;Object></span>, fps : <span class="param-type">number</span>, noLoop : <span class="param-type">boolean</span> )</span><span class="type-signature"> : Array.&lt;<a href="AnimationClip.html">AnimationClip</a>></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an array of new AnimationClips created from the morph target
+sequences of a geometry, trying to sort morph target names into
+animation-group-based patterns like &quot;Walk_001, Walk_002, Run_001, Run_002...&quot;.</p>
+<p>See <a href="MD2Loader.html#parse">MD2Loader#parse</a> as an example for how the method should be used.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>morphTargets</code></td>
+									<td class="description last"><p>A sequence of morph targets.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>fps</code></td>
+									<td class="description last"><p>The Frames-Per-Second value.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>noLoop</code></td>
+									<td class="description last"><p>Whether the clip should be no loop or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> An array of new animation clips.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreateFromMorphTargetSequence" translate="no">.<a href="#.CreateFromMorphTargetSequence">CreateFromMorphTargetSequence</a><span class="signature">( name : <span class="param-type">string</span>, morphTargetSequence : <span class="param-type">Array.&lt;Object></span>, fps : <span class="param-type">number</span>, noLoop : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new animation clip from the passed morph targets array of a
+geometry, taking a name and the number of frames per second.</p>
+<p>Note: The fps parameter is required, but the animation speed can be
+overridden via <a href="AnimationAction.html#setDuration">AnimationAction#setDuration</a>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The name of the animation clip.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>morphTargetSequence</code></td>
+									<td class="description last"><p>A sequence of morph targets.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>fps</code></td>
+									<td class="description last"><p>The Frames-Per-Second value.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>noLoop</code></td>
+									<td class="description last"><p>Whether the clip should be no loop or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The new animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".findByName" translate="no">.<a href="#.findByName">findByName</a><span class="signature">( objectOrClipArray : <span class="param-type">Array.&lt;AnimationClip> | Object3D</span>, name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Searches for an animation clip by name, taking as its first parameter
+either an array of clips, or a mesh or geometry that contains an
+array named &quot;animations&quot; property.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>objectOrClipArray</code></td>
+									<td class="description last"><p>The array or object to search through.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The name to search for.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The found animation clip. Returns <code>null</code> if no clip has been found.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".parse" translate="no">.<a href="#.parse">parse</a><span class="signature">( json : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Factory method for creating an animation clip from the given JSON.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>json</code></td>
+									<td class="description last"><p>The serialized animation clip.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The new animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".parseAnimation" translate="no">.<a href="#.parseAnimation">parseAnimation</a><span class="signature">( animation : <span class="param-type">Object</span>, bones : <span class="param-type">Array.&lt;Bones></span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the <code>animation.hierarchy</code> format and returns a new animation clip.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>animation</code></td>
+									<td class="description last"><p>A serialized animation clip as JSON.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bones</code></td>
+									<td class="description last"><p>An array of bones.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="important tag-deprecated"><strong>Deprecated:</strong> since r175.</dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The new animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".toJSON" translate="no">.<a href="#.toJSON">toJSON</a><span class="signature">( clip : <span class="param-type">AnimationClip</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Serializes the given animation clip into JSON.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>The animation clip to serialize.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The JSON object.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/AnimationClip.js" target="_blank" rel="noopener" translate="no">src/animation/AnimationClip.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 162 - 0
docs/pages/AnimationClipCreator.html

@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationClipCreator - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationClipCreator</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A utility class with factory methods for creating basic animation clips.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AnimationClipCreator</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AnimationClipCreator } from 'three/addons/animation/AnimationClipCreator.js';</code></pre>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".CreateMaterialColorAnimation" translate="no">.<a href="#.CreateMaterialColorAnimation">CreateMaterialColorAnimation</a><span class="signature">( duration : <span class="param-type">number</span>, colors : <span class="param-type">Array.&lt;Color></span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that animates the <code>color</code> property of a 3D object's
+material.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colors</code></td>
+									<td class="description last"><p>An array of colors that should be sequentially animated.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreatePulsationAnimation" translate="no">.<a href="#.CreatePulsationAnimation">CreatePulsationAnimation</a><span class="signature">( duration : <span class="param-type">number</span>, pulseScale : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that scales a 3D object in a pulse pattern
+in the given period.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>pulseScale</code></td>
+									<td class="description last"><p>The scale of the pulse.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreateRotationAnimation" translate="no">.<a href="#.CreateRotationAnimation">CreateRotationAnimation</a><span class="signature">( period : <span class="param-type">number</span>, axis : <span class="param-type">'x' | 'y' | 'z'</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that rotates a 3D object 360 degrees
+in the given period of time around the given axis.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>period</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>axis</code></td>
+									<td class="description last"><p>The axis of rotation.<br/>Default is <code>'x'</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreateScaleAxisAnimation" translate="no">.<a href="#.CreateScaleAxisAnimation">CreateScaleAxisAnimation</a><span class="signature">( period : <span class="param-type">number</span>, axis : <span class="param-type">'x' | 'y' | 'z'</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that scales a 3D object from <code>0</code> to <code>1</code>
+in the given period of time along the given axis.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>period</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>axis</code></td>
+									<td class="description last"><p>The axis to scale the 3D object along.<br/>Default is <code>'x'</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreateShakeAnimation" translate="no">.<a href="#.CreateShakeAnimation">CreateShakeAnimation</a><span class="signature">( duration : <span class="param-type">number</span>, shakeScale : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that translates a 3D object in a shake pattern
+in the given period.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>shakeScale</code></td>
+									<td class="description last"><p>The scale of the shake.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".CreateVisibilityAnimation" translate="no">.<a href="#.CreateVisibilityAnimation">CreateVisibilityAnimation</a><span class="signature">( duration : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates an animation clip that toggles the visibility of a 3D object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>duration</code></td>
+									<td class="description last"><p>The duration of the animation.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created animation clip.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/animation/AnimationClipCreator.js" target="_blank" rel="noopener" translate="no">examples/jsm/animation/AnimationClipCreator.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 101 - 0
docs/pages/AnimationLoader.html

@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">AnimationLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Class for loading animation clips in the JSON format. The files are internally
+loaded via <a href="FileLoader.html">FileLoader</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const loader = new THREE.AnimationLoader();
+const animations = await loader.loadAsync( 'animations/animation.js' );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnimationLoader" translate="no">new <a href="#AnimationLoader">AnimationLoader</a><span class="signature">( manager : <span class="param-type">LoadingManager</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new animation loader.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>manager</code></td>
+									<td class="description last"><p>The loading manager.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and pass the loaded animations as an array
+holding instances of <a href="AnimationClip.html">AnimationClip</a> to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="parse" translate="no">.<a href="#parse">parse</a><span class="signature">( json : <span class="param-type">Object</span> )</span><span class="type-signature"> : Array.&lt;<a href="AnimationClip.html">AnimationClip</a>></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the given JSON object and returns an array of animation clips.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>json</code></td>
+									<td class="description last"><p>The serialized animation clips.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#parse">Loader#parse</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The parsed animation clips.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/loaders/AnimationLoader.js" target="_blank" rel="noopener" translate="no">src/loaders/AnimationLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 220 - 0
docs/pages/AnimationMixer.html

@@ -0,0 +1,220 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationMixer - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationMixer</h1>
+		<section>
+			<header>
+				<div class="class-description"><p><code>AnimationMixer</code> is a player for animations on a particular object in
+the scene. When multiple objects in the scene are animated independently,
+one <code>AnimationMixer</code> may be used for each object.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnimationMixer" translate="no">new <a href="#AnimationMixer">AnimationMixer</a><span class="signature">( root : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new animation mixer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>root</code></td>
+									<td class="description last"><p>The object whose animations shall be played by this mixer.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="time" translate="no">.<a href="#time">time</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The global mixer time (in seconds; starting with <code>0</code> on the mixer's creation).<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="timeScale" translate="no">.<a href="#timeScale">timeScale</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>A scaling factor for the global time.</p>
+<p>Note: Setting this member to <code>0</code> and later back to <code>1</code> is a
+possibility to pause/unpause all actions that are controlled by this
+mixer.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="clipAction" translate="no">.<a href="#clipAction">clipAction</a><span class="signature">( clip : <span class="param-type">AnimationClip | string</span>, optionalRoot : <span class="param-type">Object3D</span>, blendMode : <span class="param-type">NormalAnimationBlendMode | AdditiveAnimationBlendMode</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an instance of <a href="AnimationAction.html">AnimationAction</a> for the passed clip.</p>
+<p>If an action fitting the clip and root parameters doesn't yet exist, it
+will be created by this method. Calling this method several times with the
+same clip and root parameters always returns the same action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>An animation clip or alternatively the name of the animation clip.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>optionalRoot</code></td>
+									<td class="description last"><p>An alternative root object.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>blendMode</code></td>
+									<td class="description last"><p>The blend mode.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The animation action.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="existingAction" translate="no">.<a href="#existingAction">existingAction</a><span class="signature">( clip : <span class="param-type">AnimationClip | string</span>, optionalRoot : <span class="param-type">Object3D</span> )</span><span class="type-signature"> : <a href="AnimationAction.html">AnimationAction</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an existing animation action for the passed clip.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>An animation clip or alternatively the name of the animation clip.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>optionalRoot</code></td>
+									<td class="description last"><p>An alternative root object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The animation action. Returns <code>null</code> if no action was found.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getRoot" translate="no">.<a href="#getRoot">getRoot</a><span class="signature">()</span><span class="type-signature"> : <a href="Object3D.html">Object3D</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns this mixer's root object.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The mixer's root object.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setTime" translate="no">.<a href="#setTime">setTime</a><span class="signature">( time : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationMixer.html">AnimationMixer</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the global mixer to a specific time and updates the animation accordingly.</p>
+<p>This is useful when you need to jump to an exact time in an animation. The
+input parameter will be scaled by <a href="AnimationMixer.html#timeScale">AnimationMixer#timeScale</a></p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>time</code></td>
+									<td class="description last"><p>The time to set in seconds.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation mixer.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="stopAllAction" translate="no">.<a href="#stopAllAction">stopAllAction</a><span class="signature">()</span><span class="type-signature"> : <a href="AnimationMixer.html">AnimationMixer</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deactivates all previously scheduled actions on this mixer.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation mixer.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="uncacheAction" translate="no">.<a href="#uncacheAction">uncacheAction</a><span class="signature">( clip : <span class="param-type">AnimationClip | string</span>, optionalRoot : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deallocates all memory resources for an action. The action is identified by the
+given clip and an optional root object. Before using this method make
+sure to call <a href="AnimationAction.html#stop">AnimationAction#stop</a> to deactivate the action.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>An animation clip or alternatively the name of the animation clip.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>optionalRoot</code></td>
+									<td class="description last"><p>An alternative root object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="uncacheClip" translate="no">.<a href="#uncacheClip">uncacheClip</a><span class="signature">( clip : <span class="param-type">AnimationClip</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deallocates all memory resources for a clip. Before using this method make
+sure to call <a href="AnimationAction.html#stop">AnimationAction#stop</a> for all related actions.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clip</code></td>
+									<td class="description last"><p>The clip to uncache.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="uncacheRoot" translate="no">.<a href="#uncacheRoot">uncacheRoot</a><span class="signature">( root : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deallocates all memory resources for a root object. Before using this
+method make sure to call <a href="AnimationAction.html#stop">AnimationAction#stop</a> for all related
+actions or alternatively <a href="AnimationMixer.html#stopAllAction">AnimationMixer#stopAllAction</a> when the
+mixer operates on a single root.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>root</code></td>
+									<td class="description last"><p>The root object to uncache.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">( deltaTime : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationMixer.html">AnimationMixer</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Advances the global mixer time and updates the animation.</p>
+<p>This is usually done in the render loop by passing the delta
+time from <a href="Clock.html">Clock</a> or <a href="Timer.html">Timer</a>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this animation mixer.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/AnimationMixer.js" target="_blank" rel="noopener" translate="no">src/animation/AnimationMixer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 117 - 0
docs/pages/AnimationObjectGroup.html

@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationObjectGroup - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationObjectGroup</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A group of objects that receives a shared animation state.</p>
+<p>Usage:</p>
+<ul>
+<li>Add objects you would otherwise pass as 'root' to the
+constructor or the .clipAction method of AnimationMixer.</li>
+<li>Instead pass this object as 'root'.</li>
+<li>You can also add and remove objects later when the mixer is running.</li>
+</ul>
+<p>Note:</p>
+<ul>
+<li>Objects of this class appear as one object to the mixer,
+so cache control of the individual objects must be done on the group.</li>
+</ul>
+<p>Limitation:</p>
+<ul>
+<li>The animated properties must be compatible among the all objects in the group.</li>
+<li>A single property can either be controlled through a target group or directly, but not both.</li>
+</ul></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AnimationObjectGroup" translate="no">new <a href="#AnimationObjectGroup">AnimationObjectGroup</a><span class="signature">( &hellip;arguments : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new animation group.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>arguments</code></td>
+									<td class="description last"><p>An arbitrary number of 3D objects that share the same animation state.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isAnimationObjectGroup" translate="no">.<a href="#isAnimationObjectGroup">isAnimationObjectGroup</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="uuid" translate="no">.<a href="#uuid">uuid</a><span class="type-signature"> : string</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The UUID of the 3D object.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="add" translate="no">.<a href="#add">add</a><span class="signature">( &hellip;arguments : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds an arbitrary number of objects to this animation group.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>arguments</code></td>
+									<td class="description last"><p>The 3D objects to add.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="remove" translate="no">.<a href="#remove">remove</a><span class="signature">( &hellip;arguments : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Removes an arbitrary number of objects to this animation group</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>arguments</code></td>
+									<td class="description last"><p>The 3D objects to remove.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="uncache" translate="no">.<a href="#uncache">uncache</a><span class="signature">( &hellip;arguments : <span class="param-type">Object3D</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deallocates all memory resources for the passed 3D objects of this animation group.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>arguments</code></td>
+									<td class="description last"><p>The 3D objects to uncache.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/AnimationObjectGroup.js" target="_blank" rel="noopener" translate="no">src/animation/AnimationObjectGroup.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 200 - 0
docs/pages/AnimationUtils.html

@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AnimationUtils - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AnimationUtils</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A class with various methods to assist with animations.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".convertArray" translate="no">.<a href="#.convertArray">convertArray</a><span class="signature">( array : <span class="param-type">TypedArray | Array</span>, type : <span class="param-type">TypedArray.constructor</span> )</span><span class="type-signature"> : TypedArray</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Converts an array to a specific type</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>The array to convert.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>type</code></td>
+									<td class="description last"><p>The constructor of a type array.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The converted array</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".flattenJSON" translate="no">.<a href="#.flattenJSON">flattenJSON</a><span class="signature">( jsonKeys : <span class="param-type">Array.&lt;number></span>, times : <span class="param-type">Array.&lt;number></span>, values : <span class="param-type">Array.&lt;number></span>, valuePropertyName : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Used for parsing AOS keyframe formats.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>jsonKeys</code></td>
+									<td class="description last"><p>A list of JSON keyframes.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>times</code></td>
+									<td class="description last"><p>This array will be filled with keyframe times by this method.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>values</code></td>
+									<td class="description last"><p>This array will be filled with keyframe values by this method.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>valuePropertyName</code></td>
+									<td class="description last"><p>The name of the property to use.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id=".getKeyframeOrder" translate="no">.<a href="#.getKeyframeOrder">getKeyframeOrder</a><span class="signature">( times : <span class="param-type">Array.&lt;number></span> )</span><span class="type-signature"> : Array.&lt;number></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an array by which times and values can be sorted.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>times</code></td>
+									<td class="description last"><p>The keyframe time values.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The array.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".isTypedArray" translate="no">.<a href="#.isTypedArray">isTypedArray</a><span class="signature">( object : <span class="param-type">any</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given object is a typed array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>object</code></td>
+									<td class="description last"><p>The object to check.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given object is a typed array.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".makeClipAdditive" translate="no">.<a href="#.makeClipAdditive">makeClipAdditive</a><span class="signature">( targetClip : <span class="param-type">AnimationClip</span>, referenceFrame : <span class="param-type">number</span>, referenceClip : <span class="param-type">AnimationClip</span>, fps : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Converts the keyframes of the given animation clip to an additive format.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>targetClip</code></td>
+									<td class="description last"><p>The clip to make additive.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>referenceFrame</code></td>
+									<td class="description last"><p>The reference frame.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>referenceClip</code></td>
+									<td class="description last"><p>The reference clip.<br/>Default is <code>targetClip</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>fps</code></td>
+									<td class="description last"><p>The FPS.<br/>Default is <code>30</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The updated clip which is now additive.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".sortedArray" translate="no">.<a href="#.sortedArray">sortedArray</a><span class="signature">( values : <span class="param-type">Array.&lt;number></span>, stride : <span class="param-type">number</span>, order : <span class="param-type">Array.&lt;number></span> )</span><span class="type-signature"> : Array.&lt;number></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sorts the given array by the previously computed order via <code>getKeyframeOrder()</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>values</code></td>
+									<td class="description last"><p>The values to sort.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>stride</code></td>
+									<td class="description last"><p>The stride.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>order</code></td>
+									<td class="description last"><p>The sort order.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The sorted values.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".subclip" translate="no">.<a href="#.subclip">subclip</a><span class="signature">( sourceClip : <span class="param-type">AnimationClip</span>, name : <span class="param-type">string</span>, startFrame : <span class="param-type">number</span>, endFrame : <span class="param-type">number</span>, fps : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AnimationClip.html">AnimationClip</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates a new clip, containing only the segment of the original clip between the given frames.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>sourceClip</code></td>
+									<td class="description last"><p>The values to sort.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The name of the clip.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>startFrame</code></td>
+									<td class="description last"><p>The start frame.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>endFrame</code></td>
+									<td class="description last"><p>The end frame.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>fps</code></td>
+									<td class="description last"><p>The FPS.<br/>Default is <code>30</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The new sub clip.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/AnimationUtils.js" target="_blank" rel="noopener" translate="no">src/animation/AnimationUtils.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 72 - 0
docs/pages/ArcCurve.html

@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArcCurve - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Curve.html">Curve</a> → <a href="EllipseCurve.html">EllipseCurve</a> → </p>
+	<h1 translate="no">ArcCurve</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A curve representing an arc.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArcCurve" translate="no">new <a href="#ArcCurve">ArcCurve</a><span class="signature">( aX : <span class="param-type">number</span>, aY : <span class="param-type">number</span>, aRadius : <span class="param-type">number</span>, aStartAngle : <span class="param-type">number</span>, aEndAngle : <span class="param-type">number</span>, aClockwise : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new arc curve.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>aX</code></td>
+									<td class="description last"><p>The X center of the ellipse.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>aY</code></td>
+									<td class="description last"><p>The Y center of the ellipse.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>aRadius</code></td>
+									<td class="description last"><p>The radius of the ellipse in the x direction.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>aStartAngle</code></td>
+									<td class="description last"><p>The start angle of the curve in radians starting from the positive X axis.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>aEndAngle</code></td>
+									<td class="description last"><p>The end angle of the curve in radians starting from the positive X axis.<br/>Default is <code>Math.PI*2</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>aClockwise</code></td>
+									<td class="description last"><p>Whether the ellipse is drawn clockwise or not.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isArcCurve" translate="no">.<a href="#isArcCurve">isArcCurve</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/extras/curves/ArcCurve.js" target="_blank" rel="noopener" translate="no">src/extras/curves/ArcCurve.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 395 - 0
docs/pages/ArcballControls.html

@@ -0,0 +1,395 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArcballControls - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Controls.html">Controls</a> → </p>
+	<h1 translate="no">ArcballControls</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Arcball controls allow the camera to be controlled by a virtual trackball with full touch support and advanced navigation functionality.
+Cursor/finger positions and movements are mapped over a virtual trackball surface represented by a gizmo and mapped in intuitive and
+consistent camera movements. Dragging cursor/fingers will cause camera to orbit around the center of the trackball in a conservative
+way (returning to the starting point will make the camera return to its starting orientation).</p>
+<p>In addition to supporting pan, zoom and pinch gestures, Arcball controls provide focus&lt; functionality with a double click/tap for intuitively
+moving the object's point of interest in the center of the virtual trackball. Focus allows a much better inspection and navigation in complex
+environment. Moreover Arcball controls allow FOV manipulation (in a vertigo-style method) and z-rotation. Saving and restoring of Camera State
+is supported also through clipboard (use ctrl+c and ctrl+v shortcuts for copy and paste the state).</p>
+<p>Unlike <a href="OrbitControls.html">OrbitControls</a> and <a href="TrackballControls.html">TrackballControls</a>, <code>ArcballControls</code> doesn't require <code>update()</code> to be called externally in an
+animation loop when animations are on.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ArcballControls</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { ArcballControls } from 'three/addons/controls/ArcballControls.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArcballControls" translate="no">new <a href="#ArcballControls">ArcballControls</a><span class="signature">( camera : <span class="param-type">Camera</span>, domElement : <span class="param-type">HTMLElement</span>, scene : <span class="param-type">Scene</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new controls instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera to be controlled. The camera must not be a child of another object, unless that object is the scene itself.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>domElement</code></td>
+									<td class="description last"><p>The HTML element used for event listeners.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene rendered by the camera. If not given, gizmos cannot be shown.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="adjustNearFar" translate="no">.<a href="#adjustNearFar">adjustNearFar</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to <code>true</code>, the camera's near and far values will be adjusted every time zoom is
+performed trying to maintain the same visible portion given by initial near and far
+values. Only works with perspective cameras.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="cursorZoom" translate="no">.<a href="#cursorZoom">cursorZoom</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Set to <code>true</code> to make zoom become cursor centered.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="dampingFactor" translate="no">.<a href="#dampingFactor">dampingFactor</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The damping inertia used if 'enableAnimations<code>is set to</code>true`.<br/>Default is <code>25</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableAnimations" translate="no">.<a href="#enableAnimations">enableAnimations</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Set to <code>true</code> to enable animations for rotation (damping) and focus operation.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableFocus" translate="no">.<a href="#enableFocus">enableFocus</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enable or disable camera focusing on double-tap (or click) operations.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableGizmos" translate="no">.<a href="#enableGizmos">enableGizmos</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enable or disable gizmos.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableGrid" translate="no">.<a href="#enableGrid">enableGrid</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to <code>true</code>, a grid will appear when panning operation is being performed
+(desktop interaction only).<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enablePan" translate="no">.<a href="#enablePan">enablePan</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enable or disable camera panning.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableRotate" translate="no">.<a href="#enableRotate">enableRotate</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enable or disable camera rotation.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enableZoom" translate="no">.<a href="#enableZoom">enableZoom</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Enable or disable camera zoom.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="focusAnimationTime" translate="no">.<a href="#focusAnimationTime">focusAnimationTime</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Duration of focus animations in ms.<br/>Default is <code>500</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxDistance" translate="no">.<a href="#maxDistance">maxDistance</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>How far you can dolly out. For perspective cameras only.<br/>Default is <code>Infinity</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxFov" translate="no">.<a href="#maxFov">maxFov</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The maximum FOV in degrees.<br/>Default is <code>90</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxZoom" translate="no">.<a href="#maxZoom">maxZoom</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>How far you can zoom out. For orthographic cameras only.<br/>Default is <code>Infinity</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="minDistance" translate="no">.<a href="#minDistance">minDistance</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>How far you can dolly in. For perspective cameras only.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="minFov" translate="no">.<a href="#minFov">minFov</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The minimum FOV in degrees.<br/>Default is <code>5</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="minZoom" translate="no">.<a href="#minZoom">minZoom</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>How far you can zoom in. For orthographic cameras only.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mouseActions" translate="no">.<a href="#mouseActions">mouseActions</a><span class="type-signature"> : Array.&lt;Object></span> </h3>
+					<div class="description">
+						<p>Holds the mouse actions of this controls. This property is maintained by the methods
+<code>setMouseAction()</code> and <code>unsetMouseAction()</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="radiusFactor" translate="no">.<a href="#radiusFactor">radiusFactor</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The size of the gizmo relative to the screen width and height.<br/>Default is <code>0.67</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="rotateSpeed" translate="no">.<a href="#rotateSpeed">rotateSpeed</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Speed of rotation.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="scaleFactor" translate="no">.<a href="#scaleFactor">scaleFactor</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The scaling factor used when performing zoom operation.<br/>Default is <code>1.1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="scene" translate="no">.<a href="#scene">scene</a><span class="type-signature"> : <a href="Scene.html">Scene</a></span> </h3>
+					<div class="description">
+						<p>The scene rendered by the camera. If not given, gizmos cannot be shown.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="target" translate="no">.<a href="#target">target</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The control's focus point.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="wMax" translate="no">.<a href="#wMax">wMax</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Maximum angular velocity allowed on rotation animation start.<br/>Default is <code>20</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="activateGizmos" translate="no">.<a href="#activateGizmos">activateGizmos</a><span class="signature">( isActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Makes rotation gizmos more or less visible.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>isActive</code></td>
+									<td class="description last"><p>If set to <code>true</code>, gizmos are more visible.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="copyState" translate="no">.<a href="#copyState">copyState</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copy the current state to clipboard (as a readable JSON text).</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="disposeGrid" translate="no">.<a href="#disposeGrid">disposeGrid</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Removes the grid from the scene.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="getRaycaster" translate="no">.<a href="#getRaycaster">getRaycaster</a><span class="signature">()</span><span class="type-signature"> : <a href="Raycaster.html">Raycaster</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the raycaster that is used for user interaction. This object is shared between all
+instances of <code>ArcballControls</code>.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The internal raycaster.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="pasteState" translate="no">.<a href="#pasteState">pasteState</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Set the controls state from the clipboard, assumes that the clipboard stores a JSON
+text as saved from <code>copyState()</code>.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="reset" translate="no">.<a href="#reset">reset</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resets the controls.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="saveState" translate="no">.<a href="#saveState">saveState</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Saves the current state of the control. This can later be recover with <code>reset()</code>.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setCamera" translate="no">.<a href="#setCamera">setCamera</a><span class="signature">( camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the camera to be controlled.  Must be called in order to set a new camera to be controlled.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera to be controlled.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setGizmosVisible" translate="no">.<a href="#setGizmosVisible">setGizmosVisible</a><span class="signature">( value : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets gizmos visibility.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>Value of gizmos visibility.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setMouseAction" translate="no">.<a href="#setMouseAction">setMouseAction</a><span class="signature">( operation : <span class="param-type">'PAN' | 'ROTATE' | 'ZOOM' | 'FOV'</span>, mouse : <span class="param-type">0 | 1 | 2 | 'WHEEL'</span>, key : <span class="param-type">'CTRL' | 'SHIFT'</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Set a new mouse action by specifying the operation to be performed and a mouse/key combination. In case of conflict, replaces the existing one.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>operation</code></td>
+									<td class="description last"><p>The operation to be performed ('PAN', 'ROTATE', 'ZOOM', 'FOV').</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>mouse</code></td>
+									<td class="description last"><p>A mouse button (0, 1, 2) or 'WHEEL' for wheel notches.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>key</code></td>
+									<td class="description last"><p>The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> <code>true</code> if the mouse action has been successfully added, <code>false</code> otherwise.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setTbRadius" translate="no">.<a href="#setTbRadius">setTbRadius</a><span class="signature">( value : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets gizmos radius factor and redraws gizmos.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>Value of radius factor.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="unsetMouseAction" translate="no">.<a href="#unsetMouseAction">unsetMouseAction</a><span class="signature">( mouse : <span class="param-type">0 | 1 | 2 | 'WHEEL'</span>, key : <span class="param-type">'CTRL' | 'SHIFT'</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Remove a mouse action by specifying its mouse/key combination.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mouse</code></td>
+									<td class="description last"><p>A mouse button (0, 1, 2) or 'WHEEL' for wheel notches.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>key</code></td>
+									<td class="description last"><p>The keyboard modifier ('CTRL', 'SHIFT') or null if key is not needed.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> <code>true</code> if the operation has been successfully removed, <code>false</code> otherwise.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Events</h2>
+					<h3 class="name name-method" id="event:change" translate="no">.<a href="#event:change">change</a> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Fires when the camera has been transformed by the controls.</p>
+						</div>
+						<h5>Type:</h5>
+						<ul>
+							<li>
+<span class="param-type">Object</span>
+							</li>
+						</ul>
+					</div>
+					<h3 class="name name-method" id="event:end" translate="no">.<a href="#event:end">end</a> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Fires when an interaction has finished.</p>
+						</div>
+						<h5>Type:</h5>
+						<ul>
+							<li>
+<span class="param-type">Object</span>
+							</li>
+						</ul>
+					</div>
+					<h3 class="name name-method" id="event:start" translate="no">.<a href="#event:start">start</a> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Fires when an interaction was initiated.</p>
+						</div>
+						<h5>Type:</h5>
+						<ul>
+							<li>
+<span class="param-type">Object</span>
+							</li>
+						</ul>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/ArcballControls.js" target="_blank" rel="noopener" translate="no">examples/jsm/controls/ArcballControls.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 69 - 0
docs/pages/ArrayCamera.html

@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArrayCamera - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Camera.html">Camera</a> → <a href="PerspectiveCamera.html">PerspectiveCamera</a> → </p>
+	<h1 translate="no">ArrayCamera</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This type of camera 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.</p>
+<p>An instance of <code>ArrayCamera</code> always has an array of sub cameras. It's mandatory
+to define for each sub camera the <code>viewport</code> property which determines the
+part of the viewport that is rendered with this camera.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArrayCamera" translate="no">new <a href="#ArrayCamera">ArrayCamera</a><span class="signature">( array : <span class="param-type">Array.&lt;PerspectiveCamera></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new array camera.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>An array of perspective sub cameras.<br/>Default is <code>[]</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="cameras" translate="no">.<a href="#cameras">cameras</a><span class="type-signature"> : Array.&lt;<a href="PerspectiveCamera.html">PerspectiveCamera</a>></span> </h3>
+					<div class="description">
+						<p>An array of perspective sub cameras.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isArrayCamera" translate="no">.<a href="#isArrayCamera">isArrayCamera</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isMultiViewCamera" translate="no">.<a href="#isMultiViewCamera">isMultiViewCamera</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Whether this camera is used with multiview rendering or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/cameras/ArrayCamera.js" target="_blank" rel="noopener" translate="no">src/cameras/ArrayCamera.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 90 - 0
docs/pages/ArrayElementNode.html

@@ -0,0 +1,90 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArrayElementNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">ArrayElementNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Base class for representing element access on an array-like
+node data structures.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArrayElementNode" translate="no">new <a href="#ArrayElementNode">ArrayElementNode</a><span class="signature">( node : <span class="param-type">Node</span>, indexNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs an array element node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>node</code></td>
+									<td class="description last"><p>The array-like node.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>indexNode</code></td>
+									<td class="description last"><p>The index node that defines the element access.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="indexNode" translate="no">.<a href="#indexNode">indexNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The index node that defines the element access.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isArrayElementNode" translate="no">.<a href="#isArrayElementNode">isArrayElementNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="node" translate="no">.<a href="#node">node</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The array-like node.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is overwritten since the node type is inferred from the array-like node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#getNodeType">Node#getNodeType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The node type.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/utils/ArrayElementNode.js" target="_blank" rel="noopener" translate="no">src/nodes/utils/ArrayElementNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 161 - 0
docs/pages/ArrayNode.html

@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArrayNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">ArrayNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>ArrayNode represents a collection of nodes, typically created using the <a href="TSL.html#array">array</a> function.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const colors = array( [
+	vec3( 1, 0, 0 ),
+	vec3( 0, 1, 0 ),
+	vec3( 0, 0, 1 )
+] );
+const redColor = tintColors.element( 0 );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArrayNode" translate="no">new <a href="#ArrayNode">ArrayNode</a><span class="signature">( nodeType : <span class="param-type">string</span>, count : <span class="param-type">number</span>, values : <span class="param-type">Array.&lt;Node></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new array node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>nodeType</code></td>
+									<td class="description last"><p>The data type of the elements.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>count</code></td>
+									<td class="description last"><p>Size of the array.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>values</code></td>
+									<td class="description last"><p>Array default values.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="count" translate="no">.<a href="#count">count</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Array size.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isArrayNode" translate="no">.<a href="#isArrayNode">isArrayNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="values" translate="no">.<a href="#values">values</a><span class="type-signature"> : Array.&lt;<a href="Node.html">Node</a>></span> </h3>
+					<div class="description">
+						<p>Array default values.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="generate" translate="no">.<a href="#generate">generate</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method builds the output node and returns the resulting array as a shader string.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#generate">TempNode#generate</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The generated shader string.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getArrayCount" translate="no">.<a href="#getArrayCount">getArrayCount</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the number of elements in the node array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#getArrayCount">TempNode#getArrayCount</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The number of elements in the node array.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getElementType" translate="no">.<a href="#getElementType">getElementType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the node's type.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#getElementType">TempNode#getElementType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The type of the node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the node's type.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#getNodeType">TempNode#getNodeType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The type of the node.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/core/ArrayNode.js" target="_blank" rel="noopener" translate="no">src/nodes/core/ArrayNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 146 - 0
docs/pages/ArrowHelper.html

@@ -0,0 +1,146 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ArrowHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">ArrowHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>An 3D arrow object for visualizing directions.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const dir = new THREE.Vector3( 1, 2, 0 );
+//normalize the direction vector (convert to vector of length 1)
+dir.normalize();
+const origin = new THREE.Vector3( 0, 0, 0 );
+const length = 1;
+const hex = 0xffff00;
+const arrowHelper = new THREE.ArrowHelper( dir, origin, length, hex );
+scene.add( arrowHelper );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ArrowHelper" translate="no">new <a href="#ArrowHelper">ArrowHelper</a><span class="signature">( dir : <span class="param-type">Vector3</span>, origin : <span class="param-type">Vector3</span>, length : <span class="param-type">number</span>, color : <span class="param-type">number | Color | string</span>, headLength : <span class="param-type">number</span>, headWidth : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new arrow helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>dir</code></td>
+									<td class="description last"><p>The (normalized) direction vector.<br/>Default is <code>(0, 0, 1)</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>origin</code></td>
+									<td class="description last"><p>Point at which the arrow starts.<br/>Default is <code>(0, 0, 0)</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>length</code></td>
+									<td class="description last"><p>Length of the arrow in world units.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>Color of the arrow.<br/>Default is <code>0xffff00</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>headLength</code></td>
+									<td class="description last"><p>The length of the head of the arrow.<br/>Default is <code>length*0.2</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>headWidth</code></td>
+									<td class="description last"><p>The width of the head of the arrow.<br/>Default is <code>headLength*0.2</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="cone" translate="no">.<a href="#cone">cone</a><span class="type-signature"> : <a href="Mesh.html">Mesh</a></span> </h3>
+					<div class="description">
+						<p>The cone part of the arrow helper.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="line" translate="no">.<a href="#line">line</a><span class="type-signature"> : <a href="Line.html">Line</a></span> </h3>
+					<div class="description">
+						<p>The line part of the arrow helper.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setColor" translate="no">.<a href="#setColor">setColor</a><span class="signature">( color : <span class="param-type">number | Color | string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the color of the helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setDirection" translate="no">.<a href="#setDirection">setDirection</a><span class="signature">( dir : <span class="param-type">Vector3</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the direction of the helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>dir</code></td>
+									<td class="description last"><p>The normalized direction vector.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setLength" translate="no">.<a href="#setLength">setLength</a><span class="signature">( length : <span class="param-type">number</span>, headLength : <span class="param-type">number</span>, headWidth : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the length of the helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>length</code></td>
+									<td class="description last"><p>Length of the arrow in world units.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>headLength</code></td>
+									<td class="description last"><p>The length of the head of the arrow.<br/>Default is <code>length*0.2</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>headWidth</code></td>
+									<td class="description last"><p>The width of the head of the arrow.<br/>Default is <code>headLength*0.2</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/helpers/ArrowHelper.js" target="_blank" rel="noopener" translate="no">src/helpers/ArrowHelper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 218 - 0
docs/pages/AsciiEffect.html

@@ -0,0 +1,218 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AsciiEffect - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AsciiEffect</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A class that creates an ASCII effect.</p>
+<p>The ASCII generation is based on <a href="https://github.com/hassadee/jsascii/blob/master/jsascii.js">jsascii</a>.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">AsciiEffect</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { AsciiEffect } from 'three/addons/effects/AsciiEffect.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AsciiEffect" translate="no">new <a href="#AsciiEffect">AsciiEffect</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, charSet : <span class="param-type">string</span>, options : <span class="param-type">AsciiEffect~Options</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new ASCII effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>charSet</code></td>
+									<td class="description last"><p>The char set.<br/>Default is <code>' .:-=+*#%@'</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>options</code></td>
+									<td class="description last"><p>The configuration parameter.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="domElement" translate="no">.<a href="#domElement">domElement</a><span class="type-signature"> : HTMLDivElement</span> </h3>
+					<div class="description">
+						<p>The DOM element of the effect. This element must be used instead of the
+default <a href="WebGLRenderer.html#domElement">WebGLRenderer#domElement</a>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( scene : <span class="param-type">Object3D</span>, camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>When using this effect, this method should be called instead of the
+default <a href="WebGLRenderer.html#render">WebGLRenderer#render</a>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene to render.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( w : <span class="param-type">number</span>, h : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>w</code></td>
+									<td class="description last"><p>The width of the effect in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>h</code></td>
+									<td class="description last"><p>The height of the effect in logical pixels.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Options" translate="no">.<a href="#~Options">Options</a> </h3>
+					<div class="description">
+						<p>This type represents configuration settings of <code>AsciiEffect</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>resolution</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					0.15
+				</td>
+			<td class="description last"><p>A higher value leads to more details.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>scale</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					1
+				</td>
+			<td class="description last"><p>The scale of the effect.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>color</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					false
+				</td>
+			<td class="description last"><p>Whether colors should be enabled or not. Better quality but slows down rendering.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>alpha</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					false
+				</td>
+			<td class="description last"><p>Whether transparency should be enabled or not.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>block</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					false
+				</td>
+			<td class="description last"><p>Whether blocked characters should be enabled or not.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>invert</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					false
+				</td>
+			<td class="description last"><p>Whether colors should be inverted or not.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>strResolution</code></td>
+			<td class="type">
+<span class="param-type">'low'</span>
+|
+<span class="param-type">'medium'</span>
+|
+<span class="param-type">'high'</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					'low'
+				</td>
+			<td class="description last"><p>The string resolution.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/effects/AsciiEffect.js" target="_blank" rel="noopener" translate="no">examples/jsm/effects/AsciiEffect.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 101 - 0
docs/pages/AssignNode.html

@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AssignNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">AssignNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>These node represents an assign operation. Meaning a node is assigned
+to another node.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AssignNode" translate="no">new <a href="#AssignNode">AssignNode</a><span class="signature">( targetNode : <span class="param-type">Node</span>, sourceNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new assign node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>targetNode</code></td>
+									<td class="description last"><p>The target node.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>sourceNode</code></td>
+									<td class="description last"><p>The source type.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isAssignNode" translate="no">.<a href="#isAssignNode">isAssignNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="sourceNode" translate="no">.<a href="#sourceNode">sourceNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The source node.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="targetNode" translate="no">.<a href="#targetNode">targetNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The target node.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="hasDependencies" translate="no">.<a href="#hasDependencies">hasDependencies</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Whether this node is used more than once in context of other nodes. This method
+is overwritten since it always returns <code>false</code> (assigns are unique).</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#hasDependencies">TempNode#hasDependencies</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A flag that indicates if there is more than one dependency to other nodes. Always <code>false</code>.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="needsSplitAssign" translate="no">.<a href="#needsSplitAssign">needsSplitAssign</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Whether a split is required when assigning source to target. This can happen when the component length of
+target and source data type does not match.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether a split is required when assigning source to target.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/core/AssignNode.js" target="_blank" rel="noopener" translate="no">src/nodes/core/AssignNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 125 - 0
docs/pages/AtomicFunctionNode.html

@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AtomicFunctionNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">AtomicFunctionNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p><code>AtomicFunctionNode</code> represents any function that can operate on atomic variable types
+within a shader. In an atomic function, any modification to an atomic variable will
+occur as an indivisible step with a defined order relative to other modifications.
+Accordingly, even if multiple atomic functions are modifying an atomic variable at once
+atomic operations will not interfere with each other.</p>
+<p>This node can only be used with a WebGPU backend.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AtomicFunctionNode" translate="no">new <a href="#AtomicFunctionNode">AtomicFunctionNode</a><span class="signature">( method : <span class="param-type">string</span>, pointerNode : <span class="param-type">Node</span>, valueNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new atomic function node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>method</code></td>
+									<td class="description last"><p>The signature of the atomic function to construct.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>pointerNode</code></td>
+									<td class="description last"><p>An atomic variable or element of an atomic buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>valueNode</code></td>
+									<td class="description last"><p>The value that mutates the atomic variable.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="method" translate="no">.<a href="#method">method</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The signature of the atomic function to construct.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="parents" translate="no">.<a href="#parents">parents</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Creates a list of the parents for this node for detecting if the node needs to return a value.<br/>Default is <code>true</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#parents">Node#parents</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="pointerNode" translate="no">.<a href="#pointerNode">pointerNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>An atomic variable or element of an atomic buffer.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="valueNode" translate="no">.<a href="#valueNode">valueNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>A value that modifies the atomic variable.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getInputType" translate="no">.<a href="#getInputType">getInputType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Overwrites the default implementation to return the type of
+the pointer node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The input type.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Overwritten since the node type is inferred from the input type.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#getNodeType">Node#getNodeType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The node type.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/gpgpu/AtomicFunctionNode.js" target="_blank" rel="noopener" translate="no">src/nodes/gpgpu/AtomicFunctionNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 98 - 0
docs/pages/AttributeNode.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AttributeNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">AttributeNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Base class for representing shader attributes as nodes.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AttributeNode" translate="no">new <a href="#AttributeNode">AttributeNode</a><span class="signature">( attributeName : <span class="param-type">string</span>, nodeType : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new attribute node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>attributeName</code></td>
+									<td class="description last"><p>The name of the attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>nodeType</code></td>
+									<td class="description last"><p>The node type.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="global" translate="no">.<a href="#global">global</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p><code>AttributeNode</code> sets this property to <code>true</code> by default.<br/>Default is <code>true</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#global">Node#global</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getAttributeName" translate="no">.<a href="#getAttributeName">getAttributeName</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the attribute name of this node. The method can be
+overwritten in derived classes if the final name must be computed
+analytically.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The attribute name.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setAttributeName" translate="no">.<a href="#setAttributeName">setAttributeName</a><span class="signature">( attributeName : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="AttributeNode.html">AttributeNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the attribute name to the given value. The method can be
+overwritten in derived classes if the final name must be computed
+analytically.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>attributeName</code></td>
+									<td class="description last"><p>The name of the attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this node.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/core/AttributeNode.js" target="_blank" rel="noopener" translate="no">src/nodes/core/AttributeNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 530 - 0
docs/pages/Audio.html

@@ -0,0 +1,530 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Audio - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">Audio</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents a non-positional ( global ) audio object.</p>
+<p>This and related audio modules make use of the <a href="https://www.w3.org/TR/webaudio-1.1/">Web Audio API</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">// create an AudioListener and add it to the camera
+const listener = new THREE.AudioListener();
+camera.add( listener );
+// create a global audio source
+const sound = new THREE.Audio( listener );
+// load a sound and set it as the Audio object's buffer
+const audioLoader = new THREE.AudioLoader();
+audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+	sound.setBuffer( buffer );
+	sound.setLoop( true );
+	sound.setVolume( 0.5 );
+	sound.play();
+});
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Audio" translate="no">new <a href="#Audio">Audio</a><span class="signature">( listener : <span class="param-type">AudioListener</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new audio.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>listener</code></td>
+									<td class="description last"><p>The global audio listener.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="autoplay" translate="no">.<a href="#autoplay">autoplay</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to start playback automatically or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="buffer" translate="no">.<a href="#buffer">buffer</a><span class="type-signature"> : AudioBuffer</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>A reference to an audio buffer.</p>
+<p>Defined via <a href="Audio.html#setBuffer">Audio#setBuffer</a>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="context" translate="no">.<a href="#context">context</a><span class="type-signature"> : <a href="AudioContext.html">AudioContext</a></span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The audio context.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="detune" translate="no">.<a href="#detune">detune</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Modify pitch, measured in cents. +/- 100 is a semitone.
++/- 1200 is an octave.</p>
+<p>Defined via <a href="Audio.html#setDetune">Audio#setDetune</a>.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="duration" translate="no">.<a href="#duration">duration</a><span class="type-signature"> : undefined | number</span> </h3>
+					<div class="description">
+						<p>Overrides the default duration of the audio.<br/>Default is <code>undefined</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="filters" translate="no">.<a href="#filters">filters</a><span class="type-signature"> : Array.&lt;AudioNode></span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Can be used to apply a variety of low-order filters to create
+more complex sound effects e.g. via <code>BiquadFilterNode</code>.</p>
+<p>The property is automatically set by <a href="Audio.html#setFilters">Audio#setFilters</a>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="gain" translate="no">.<a href="#gain">gain</a><span class="type-signature"> : GainNode</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The gain node used for volume control.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="hasPlaybackControl" translate="no">.<a href="#hasPlaybackControl">hasPlaybackControl</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Indicates whether the audio playback can be controlled
+with method like <a href="Audio.html#play">Audio#play</a> or <a href="Audio.html#pause">Audio#pause</a>.</p>
+<p>This flag will be automatically set when audio sources are
+defined.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isPlaying" translate="no">.<a href="#isPlaying">isPlaying</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Indicates whether the audio is playing or not.</p>
+<p>This flag will be automatically set when using <a href="Audio.html#play">Audio#play</a>,
+<a href="Audio.html#pause">Audio#pause</a>, <a href="Audio.html#stop">Audio#stop</a>.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="listener" translate="no">.<a href="#listener">listener</a><span class="type-signature"> : <a href="AudioListener.html">AudioListener</a></span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The global audio listener.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="loop" translate="no">.<a href="#loop">loop</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Whether the audio should loop or not.</p>
+<p>Defined via <a href="Audio.html#setLoop">Audio#setLoop</a>.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="loopEnd" translate="no">.<a href="#loopEnd">loopEnd</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Defines where in the audio buffer the replay should
+stop, in seconds.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="loopStart" translate="no">.<a href="#loopStart">loopStart</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Defines where in the audio buffer the replay should
+start, in seconds.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="offset" translate="no">.<a href="#offset">offset</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>An offset to the time within the audio buffer the playback
+should begin, in seconds.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="playbackRate" translate="no">.<a href="#playbackRate">playbackRate</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The playback speed.</p>
+<p>Defined via <a href="Audio.html#setPlaybackRate">Audio#setPlaybackRate</a>.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="source" translate="no">.<a href="#source">source</a><span class="type-signature"> : AudioNode</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Holds a reference to the current audio source.</p>
+<p>The property is automatically by one of the <code>set*()</code> methods.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="sourceType" translate="no">.<a href="#sourceType">sourceType</a><span class="type-signature"> : 'empty' | 'audioNode' | 'mediaNode' | 'mediaStreamNode' | 'buffer'</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Defines the source type.</p>
+<p>The property is automatically by one of the <code>set*()</code> methods.<br/>Default is <code>'empty'</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="connect" translate="no">.<a href="#connect">connect</a><span class="signature">()</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Connects to the audio source. This is used internally on
+initialisation and when setting / removing filters.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="disconnect" translate="no">.<a href="#disconnect">disconnect</a><span class="signature">()</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Disconnects to the audio source. This is used internally on
+initialisation and when setting / removing filters.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getDetune" translate="no">.<a href="#getDetune">getDetune</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the detuning of oscillation in cents.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The detuning of oscillation in cents.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getFilter" translate="no">.<a href="#getFilter">getFilter</a><span class="signature">()</span><span class="type-signature"> : AudioNode | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the first filter in the list of filters.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The first filter in the list of filters.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getFilters" translate="no">.<a href="#getFilters">getFilters</a><span class="signature">()</span><span class="type-signature"> : Array.&lt;AudioNode></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the current set filters.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The list of filters.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getLoop" translate="no">.<a href="#getLoop">getLoop</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the loop flag.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the audio should loop or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getOutput" translate="no">.<a href="#getOutput">getOutput</a><span class="signature">()</span><span class="type-signature"> : GainNode</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the output audio node.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The output node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getPlaybackRate" translate="no">.<a href="#getPlaybackRate">getPlaybackRate</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the current playback rate.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The playback rate.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getVolume" translate="no">.<a href="#getVolume">getVolume</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the volume.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The volume.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="onEnded" translate="no">.<a href="#onEnded">onEnded</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Automatically called when playback finished.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="pause" translate="no">.<a href="#pause">pause</a><span class="signature">()</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Pauses the playback of the audio.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="play" translate="no">.<a href="#play">play</a><span class="signature">( delay : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts the playback of the audio.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>delay</code></td>
+									<td class="description last"><p>The delay, in seconds, at which the audio should start playing.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setBuffer" translate="no">.<a href="#setBuffer">setBuffer</a><span class="signature">( audioBuffer : <span class="param-type">AudioBuffer</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given audio buffer as the source of this instance.</p>
+<p><a href="Audio.html#sourceType">Audio#sourceType</a> is set to <code>buffer</code> and <a href="Audio.html#hasPlaybackControl">Audio#hasPlaybackControl</a> to <code>true</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>audioBuffer</code></td>
+									<td class="description last"><p>The audio buffer.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setDetune" translate="no">.<a href="#setDetune">setDetune</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the detuning of oscillation in cents.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The detuning of oscillation in cents.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFilter" translate="no">.<a href="#setFilter">setFilter</a><span class="signature">( filter : <span class="param-type">AudioNode</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies a single filter node to the audio.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>filter</code></td>
+									<td class="description last"><p>The filter to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFilters" translate="no">.<a href="#setFilters">setFilters</a><span class="signature">( value : <span class="param-type">Array.&lt;AudioNode></span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets an array of filters and connects them with the audio source.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>A list of filters.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setLoop" translate="no">.<a href="#setLoop">setLoop</a><span class="signature">( value : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the loop flag.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>Whether the audio should loop or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setLoopEnd" translate="no">.<a href="#setLoopEnd">setLoopEnd</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the loop end value which defines where in the audio buffer the replay should
+stop, in seconds.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The loop end value.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setLoopStart" translate="no">.<a href="#setLoopStart">setLoopStart</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the loop start value which defines where in the audio buffer the replay should
+start, in seconds.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The loop start value.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setMediaElementSource" translate="no">.<a href="#setMediaElementSource">setMediaElementSource</a><span class="signature">( mediaElement : <span class="param-type">HTMLMediaElement</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given media element as the source of this instance.</p>
+<p><a href="Audio.html#sourceType">Audio#sourceType</a> is set to <code>mediaNode</code> and <a href="Audio.html#hasPlaybackControl">Audio#hasPlaybackControl</a> to <code>false</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mediaElement</code></td>
+									<td class="description last"><p>The media element.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setMediaStreamSource" translate="no">.<a href="#setMediaStreamSource">setMediaStreamSource</a><span class="signature">( mediaStream : <span class="param-type">MediaStream</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given media stream as the source of this instance.</p>
+<p><a href="Audio.html#sourceType">Audio#sourceType</a> is set to <code>mediaStreamNode</code> and <a href="Audio.html#hasPlaybackControl">Audio#hasPlaybackControl</a> to <code>false</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mediaStream</code></td>
+									<td class="description last"><p>The media stream.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setNodeSource" translate="no">.<a href="#setNodeSource">setNodeSource</a><span class="signature">( audioNode : <span class="param-type">AudioNode</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given audio node as the source of this instance.</p>
+<p><a href="Audio.html#sourceType">Audio#sourceType</a> is set to <code>audioNode</code> and <a href="Audio.html#hasPlaybackControl">Audio#hasPlaybackControl</a> to <code>false</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>audioNode</code></td>
+									<td class="description last"><p>The audio node like an instance of <code>OscillatorNode</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setPlaybackRate" translate="no">.<a href="#setPlaybackRate">setPlaybackRate</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the playback rate.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The playback rate to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setVolume" translate="no">.<a href="#setVolume">setVolume</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the volume.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The volume to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="stop" translate="no">.<a href="#stop">stop</a><span class="signature">( delay : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Audio.html">Audio</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Stops the playback of the audio.</p>
+<p>Can only be used with compatible audio sources that allow playback control.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>delay</code></td>
+									<td class="description last"><p>The delay, in seconds, at which the audio should stop playing.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/audio/Audio.js" target="_blank" rel="noopener" translate="no">src/audio/Audio.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 103 - 0
docs/pages/AudioAnalyser.html

@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AudioAnalyser - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AudioAnalyser</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class can be used to analyse audio data.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">// create an AudioListener and add it to the camera
+const listener = new THREE.AudioListener();
+camera.add( listener );
+// create an Audio source
+const sound = new THREE.Audio( listener );
+// load a sound and set it as the Audio object's buffer
+const audioLoader = new THREE.AudioLoader();
+audioLoader.load( 'sounds/ambient.ogg', function( buffer ) {
+	sound.setBuffer( buffer );
+	sound.setLoop(true);
+	sound.setVolume(0.5);
+	sound.play();
+});
+// create an AudioAnalyser, passing in the sound and desired fftSize
+const analyser = new THREE.AudioAnalyser( sound, 32 );
+// get the average frequency of the sound
+const data = analyser.getAverageFrequency();
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AudioAnalyser" translate="no">new <a href="#AudioAnalyser">AudioAnalyser</a><span class="signature">( audio : <span class="param-type">Audio</span>, fftSize : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new audio analyzer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>audio</code></td>
+									<td class="description last"><p>The audio to analyze.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>fftSize</code></td>
+									<td class="description last"><p>The window size in samples that is used when performing a Fast Fourier Transform (FFT) to get frequency domain data.<br/>Default is <code>2048</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="analyser" translate="no">.<a href="#analyser">analyser</a><span class="type-signature"> : AnalyserNode</span> </h3>
+					<div class="description">
+						<p>The global audio listener.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="data" translate="no">.<a href="#data">data</a><span class="type-signature"> : Uint8Array</span> </h3>
+					<div class="description">
+						<p>Holds the analyzed data.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getAverageFrequency" translate="no">.<a href="#getAverageFrequency">getAverageFrequency</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the average of the frequencies returned by <a href="AudioAnalyser.html#getFrequencyData">AudioAnalyser#getFrequencyData</a>.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The average frequency.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getFrequencyData" translate="no">.<a href="#getFrequencyData">getFrequencyData</a><span class="signature">()</span><span class="type-signature"> : Uint8Array</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an array with frequency data of the audio.</p>
+<p>Each item in the array represents the decibel value for a specific frequency.
+The frequencies are spread linearly from 0 to 1/2 of the sample rate.
+For example, for 48000 sample rate, the last item of the array will represent
+the decibel value for 24000 Hz.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The frequency data.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/audio/AudioAnalyser.js" target="_blank" rel="noopener" translate="no">src/audio/AudioAnalyser.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 55 - 0
docs/pages/AudioContext.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AudioContext - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">AudioContext</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Manages the global audio context in the engine.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".getContext" translate="no">.<a href="#.getContext">getContext</a><span class="signature">()</span><span class="type-signature"> : <a href="AudioContext.html">AudioContext</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the global native audio context.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The native audio context.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".setContext" translate="no">.<a href="#.setContext">setContext</a><span class="signature">( value : <span class="param-type">AudioContext</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Allows to set the global native audio context from outside.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The native context to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/audio/AudioContext.js" target="_blank" rel="noopener" translate="no">src/audio/AudioContext.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 140 - 0
docs/pages/AudioListener.html

@@ -0,0 +1,140 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AudioListener - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">AudioListener</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>The class represents a virtual listener of the all positional and non-positional audio effects
+in the scene. A three.js application usually creates a single listener. It is a mandatory
+constructor parameter for audios entities like <a href="Audio.html">Audio</a> and <a href="PositionalAudio.html">PositionalAudio</a>.</p>
+<p>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></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AudioListener" translate="no">new <a href="#AudioListener">AudioListener</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new audio listener.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="context" translate="no">.<a href="#context">context</a><span class="type-signature"> : <a href="AudioContext.html">AudioContext</a></span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The native audio context.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="filter" translate="no">.<a href="#filter">filter</a><span class="type-signature"> : AudioNode</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>An optional filter.</p>
+<p>Defined via <a href="AudioListener.html#setFilter">AudioListener#setFilter</a>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="gain" translate="no">.<a href="#gain">gain</a><span class="type-signature"> : GainNode</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The gain node used for volume control.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="timeDelta" translate="no">.<a href="#timeDelta">timeDelta</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Time delta values required for <code>linearRampToValueAtTime()</code> usage.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getFilter" translate="no">.<a href="#getFilter">getFilter</a><span class="signature">()</span><span class="type-signature"> : AudioNode</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the current set filter.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The filter.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getInput" translate="no">.<a href="#getInput">getInput</a><span class="signature">()</span><span class="type-signature"> : GainNode</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the listener's input node.</p>
+<p>This method is used by other audio nodes to connect to this listener.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The input node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getMasterVolume" translate="no">.<a href="#getMasterVolume">getMasterVolume</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the applications master volume.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The master volume.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="removeFilter" translate="no">.<a href="#removeFilter">removeFilter</a><span class="signature">()</span><span class="type-signature"> : <a href="AudioListener.html">AudioListener</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Removes the current filter from this listener.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this listener.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFilter" translate="no">.<a href="#setFilter">setFilter</a><span class="signature">( value : <span class="param-type">AudioNode</span> )</span><span class="type-signature"> : <a href="AudioListener.html">AudioListener</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given filter to this listener.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The filter to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this listener.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setMasterVolume" translate="no">.<a href="#setMasterVolume">setMasterVolume</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="AudioListener.html">AudioListener</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the applications master volume. This volume setting affects
+all audio nodes in the scene.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The master volume to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this listener.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/audio/AudioListener.js" target="_blank" rel="noopener" translate="no">src/audio/AudioListener.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 85 - 0
docs/pages/AudioLoader.html

@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AudioLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">AudioLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Class for loading audio buffers. Audios are internally
+loaded via <a href="FileLoader.html">FileLoader</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const audioListener = new THREE.AudioListener();
+const ambientSound = new THREE.Audio( audioListener );
+const loader = new THREE.AudioLoader();
+const audioBuffer = await loader.loadAsync( 'audio/ambient_ocean.ogg' );
+ambientSound.setBuffer( audioBuffer );
+ambientSound.play();
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AudioLoader" translate="no">new <a href="#AudioLoader">AudioLoader</a><span class="signature">( manager : <span class="param-type">LoadingManager</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new audio loader.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>manager</code></td>
+									<td class="description last"><p>The loading manager.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and passes the loaded audio buffer
+to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/loaders/AudioLoader.js" target="_blank" rel="noopener" translate="no">src/loaders/AudioLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 83 - 0
docs/pages/AxesHelper.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>AxesHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Line.html">Line</a> → <a href="LineSegments.html">LineSegments</a> → </p>
+	<h1 translate="no">AxesHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>An axis object to visualize the 3 axes in a simple way.
+The X axis is red. The Y axis is green. The Z axis is blue.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const axesHelper = new THREE.AxesHelper( 5 );
+scene.add( axesHelper );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="AxesHelper" translate="no">new <a href="#AxesHelper">AxesHelper</a><span class="signature">( size : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new axes helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>size</code></td>
+									<td class="description last"><p>Size of the lines representing the axes.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setColors" translate="no">.<a href="#setColors">setColors</a><span class="signature">( xAxisColor : <span class="param-type">number | Color | string</span>, yAxisColor : <span class="param-type">number | Color | string</span>, zAxisColor : <span class="param-type">number | Color | string</span> )</span><span class="type-signature"> : <a href="AxesHelper.html">AxesHelper</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the colors of the axes helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>xAxisColor</code></td>
+									<td class="description last"><p>The color for the x axis.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>yAxisColor</code></td>
+									<td class="description last"><p>The color for the y axis.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>zAxisColor</code></td>
+									<td class="description last"><p>The color for the z axis.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this axes helper.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/helpers/AxesHelper.js" target="_blank" rel="noopener" translate="no">src/helpers/AxesHelper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 125 - 0
docs/pages/BVHLoader.html

@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BVHLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">BVHLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A loader for the BVH format.</p>
+<p>Imports BVH files and outputs a single <a href="Skeleton.html">Skeleton</a> and <a href="AnimationClip.html">AnimationClip</a>.
+The loader only supports BVH files containing a single root right now.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const loader = new BVHLoader();
+const result = await loader.loadAsync( 'models/bvh/pirouette.bvh' );
+// visualize skeleton
+const skeletonHelper = new THREE.SkeletonHelper( result.skeleton.bones[ 0 ] );
+scene.add( result.skeleton.bones[ 0 ] );
+scene.add( skeletonHelper );
+// play animation clip
+mixer = new THREE.AnimationMixer( result.skeleton.bones[ 0 ] );
+mixer.clipAction( result.clip ).play();
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">BVHLoader</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { BVHLoader } from 'three/addons/loaders/BVHLoader.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BVHLoader" translate="no">new <a href="#BVHLoader">BVHLoader</a><span class="signature">( manager : <span class="param-type">LoadingManager</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new BVH loader.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>manager</code></td>
+									<td class="description last"><p>The loading manager.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="animateBonePositions" translate="no">.<a href="#animateBonePositions">animateBonePositions</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to animate bone positions or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="animateBoneRotations" translate="no">.<a href="#animateBoneRotations">animateBoneRotations</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to animate bone rotations or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and passes the loaded BVH asset
+to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="parse" translate="no">.<a href="#parse">parse</a><span class="signature">( text : <span class="param-type">string</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the given BVH data and returns the resulting data.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>text</code></td>
+									<td class="description last"><p>The raw BVH data as a string.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#parse">Loader#parse</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> An object representing the parsed asset.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/BVHLoader.js" target="_blank" rel="noopener" translate="no">examples/jsm/loaders/BVHLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 46 - 0
docs/pages/BarrierNode.html

@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BarrierNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">BarrierNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents a GPU control barrier that synchronizes compute operations within a given scope.</p>
+<p>This node can only be used with a WebGPU backend.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BarrierNode" translate="no">new <a href="#BarrierNode">BarrierNode</a><span class="signature">( scope : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new barrier node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scope</code></td>
+									<td class="description last"><p>The scope defines the behavior of the node.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/gpgpu/BarrierNode.js" target="_blank" rel="noopener" translate="no">src/nodes/gpgpu/BarrierNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 55 - 0
docs/pages/BasicEnvironmentNode.html

@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BasicEnvironmentNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="LightingNode.html">LightingNode</a> → </p>
+	<h1 translate="no">BasicEnvironmentNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents a basic model for Image-based lighting (IBL). The environment
+is defined via environment maps in the equirectangular or cube map format.
+<code>BasicEnvironmentNode</code> is intended for non-PBR materials like <a href="MeshBasicNodeMaterial.html">MeshBasicNodeMaterial</a>
+or <a href="MeshPhongNodeMaterial.html">MeshPhongNodeMaterial</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BasicEnvironmentNode" translate="no">new <a href="#BasicEnvironmentNode">BasicEnvironmentNode</a><span class="signature">( envNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new basic environment node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>envNode</code></td>
+									<td class="description last"><p>A node representing the environment.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="envNode" translate="no">.<a href="#envNode">envNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>A node representing the environment.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/lighting/BasicEnvironmentNode.js" target="_blank" rel="noopener" translate="no">src/nodes/lighting/BasicEnvironmentNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 54 - 0
docs/pages/BasicLightMapNode.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BasicLightMapNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="LightingNode.html">LightingNode</a> → </p>
+	<h1 translate="no">BasicLightMapNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A specific version of <a href="IrradianceNode.html">IrradianceNode</a> that is only relevant
+for <a href="MeshBasicNodeMaterial.html">MeshBasicNodeMaterial</a>. Since the material is unlit, it
+requires a special scaling factor for the light map.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BasicLightMapNode" translate="no">new <a href="#BasicLightMapNode">BasicLightMapNode</a><span class="signature">( lightMapNode : <span class="param-type">Node.&lt;vec3></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new basic light map node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>lightMapNode</code></td>
+									<td class="description last"><p>The light map node.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="lightMapNode" translate="no">.<a href="#lightMapNode">lightMapNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;vec3></span> </h3>
+					<div class="description">
+						<p>The light map node.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/lighting/BasicLightMapNode.js" target="_blank" rel="noopener" translate="no">src/nodes/lighting/BasicLightMapNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 74 - 0
docs/pages/BasicLightingModel.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BasicLightingModel - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="LightingModel.html">LightingModel</a> → </p>
+	<h1 translate="no">BasicLightingModel</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents the lighting model for unlit materials. The only light contribution
+is baked indirect lighting modulated with ambient occlusion and the material's
+diffuse color. Environment mapping is supported. Used in <a href="MeshBasicNodeMaterial.html">MeshBasicNodeMaterial</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BasicLightingModel" translate="no">new <a href="#BasicLightingModel">BasicLightingModel</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new basic lighting model.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="finish" translate="no">.<a href="#finish">finish</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Implements the environment mapping.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="LightingModel.html#finish">LightingModel#finish</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="indirect" translate="no">.<a href="#indirect">indirect</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Implements the baked indirect lighting with its modulation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="LightingModel.html#indirect">LightingModel#indirect</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/functions/BasicLightingModel.js" target="_blank" rel="noopener" translate="no">src/nodes/functions/BasicLightingModel.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 80 - 0
docs/pages/BatchNode.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BatchNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">BatchNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This node implements the vertex shader logic which is required
+when rendering 3D objects via batching. <code>BatchNode</code> must be used
+with instances of <a href="BatchedMesh.html">BatchedMesh</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BatchNode" translate="no">new <a href="#BatchNode">BatchNode</a><span class="signature">( batchMesh : <span class="param-type">BatchedMesh</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new batch node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>batchMesh</code></td>
+									<td class="description last"><p>A reference to batched mesh.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="batchMesh" translate="no">.<a href="#batchMesh">batchMesh</a><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="description">
+						<p>A reference to batched mesh.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="batchingIdNode" translate="no">.<a href="#batchingIdNode">batchingIdNode</a><span class="type-signature"> : <a href="IndexNode.html">IndexNode</a></span> </h3>
+					<div class="description">
+						<p>The batching index node.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups the internal buffers and nodes and assigns the transformed vertex data
+to predefined node variables for accumulation. That follows the same patterns
+like with morph and skinning nodes.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#setup">Node#setup</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/accessors/BatchNode.js" target="_blank" rel="noopener" translate="no">src/nodes/accessors/BatchNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 603 - 0
docs/pages/BatchedMesh.html

@@ -0,0 +1,603 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BatchedMesh - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Mesh.html">Mesh</a> → </p>
+	<h1 translate="no">BatchedMesh</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A special version of a mesh with multi draw batch rendering support. Use
+this class if you have to render a large number of objects with the same
+material but with different geometries or world transformations. The usage of
+<code>BatchedMesh</code> will help you to reduce the number of draw calls and thus improve the overall
+rendering performance in your application.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const box = new THREE.BoxGeometry( 1, 1, 1 );
+const sphere = new THREE.SphereGeometry( 1, 12, 12 );
+const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+// initialize and add geometries into the batched mesh
+const batchedMesh = new BatchedMesh( 10, 5000, 10000, material );
+const boxGeometryId = batchedMesh.addGeometry( box );
+const sphereGeometryId = batchedMesh.addGeometry( sphere );
+// create instances of those geometries
+const boxInstancedId1 = batchedMesh.addInstance( boxGeometryId );
+const boxInstancedId2 = batchedMesh.addInstance( boxGeometryId );
+const sphereInstancedId1 = batchedMesh.addInstance( sphereGeometryId );
+const sphereInstancedId2 = batchedMesh.addInstance( sphereGeometryId );
+// position the geometries
+batchedMesh.setMatrixAt( boxInstancedId1, boxMatrix1 );
+batchedMesh.setMatrixAt( boxInstancedId2, boxMatrix2 );
+batchedMesh.setMatrixAt( sphereInstancedId1, sphereMatrix1 );
+batchedMesh.setMatrixAt( sphereInstancedId2, sphereMatrix2 );
+scene.add( batchedMesh );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BatchedMesh" translate="no">new <a href="#BatchedMesh">BatchedMesh</a><span class="signature">( maxInstanceCount : <span class="param-type">number</span>, maxVertexCount : <span class="param-type">number</span>, maxIndexCount : <span class="param-type">number</span>, material : <span class="param-type">Material | Array.&lt;Material></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new batched mesh.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>maxInstanceCount</code></td>
+									<td class="description last"><p>The maximum number of individual instances planned to be added and rendered.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maxVertexCount</code></td>
+									<td class="description last"><p>The maximum number of vertices to be used by all unique geometries.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maxIndexCount</code></td>
+									<td class="description last"><p>The maximum number of indices to be used by all unique geometries<br/>Default is <code>maxVertexCount*2</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>material</code></td>
+									<td class="description last"><p>The mesh material.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="boundingBox" translate="no">.<a href="#boundingBox">boundingBox</a><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="description">
+						<p>The bounding box of the batched mesh. Can be computed via <a href="BatchedMesh.html#computeBoundingBox">BatchedMesh#computeBoundingBox</a>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="boundingSphere" translate="no">.<a href="#boundingSphere">boundingSphere</a><span class="type-signature"> : <a href="Sphere.html">Sphere</a></span> </h3>
+					<div class="description">
+						<p>The bounding sphere of the batched mesh. Can be computed via <a href="BatchedMesh.html#computeBoundingSphere">BatchedMesh#computeBoundingSphere</a>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="customSort" translate="no">.<a href="#customSort">customSort</a><span class="type-signature"> : function</span> </h3>
+					<div class="description">
+						<p>Takes a sort a function that is run before render. The function takes a list of instances to
+sort and a camera. The objects in the list include a &quot;z&quot; field to perform a depth-ordered
+sort with.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="instanceCount" translate="no">.<a href="#instanceCount">instanceCount</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The instance count.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBatchedMesh" translate="no">.<a href="#isBatchedMesh">isBatchedMesh</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxInstanceCount" translate="no">.<a href="#maxInstanceCount">maxInstanceCount</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The maximum number of individual instances that can be stored in the batch.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="perObjectFrustumCulled" translate="no">.<a href="#perObjectFrustumCulled">perObjectFrustumCulled</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>When set ot <code>true</code>, the individual objects of a batch are frustum culled.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="sortObjects" translate="no">.<a href="#sortObjects">sortObjects</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>When set to <code>true</code>, the individual objects of a batch are sorted to improve overdraw-related artifacts.
+If the material is marked as &quot;transparent&quot; objects are rendered back to front and if not then they are
+rendered front to back.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="unusedIndexCount" translate="no">.<a href="#unusedIndexCount">unusedIndexCount</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The number of unused indices.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="unusedVertexCount" translate="no">.<a href="#unusedVertexCount">unusedVertexCount</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The number of unused vertices.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="addGeometry" translate="no">.<a href="#addGeometry">addGeometry</a><span class="signature">( geometry : <span class="param-type">BufferGeometry</span>, reservedVertexCount : <span class="param-type">number</span>, reservedIndexCount : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given geometry to the batch and returns the associated
+geometry id referring to it to be used in other functions.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometry</code></td>
+									<td class="description last"><p>The geometry to add.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>reservedVertexCount</code></td>
+									<td class="description last"><p>Optional parameter specifying the amount of
+vertex buffer space to reserve for the added geometry. This is necessary if it is planned
+to set a new geometry at this index at a later time that is larger than the original geometry.
+Defaults to the length of the given geometry vertex buffer.<br/>Default is <code>-1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>reservedIndexCount</code></td>
+									<td class="description last"><p>Optional parameter specifying the amount of index
+buffer space to reserve for the added geometry. This is necessary if it is planned to set a
+new geometry at this index at a later time that is larger than the original geometry. Defaults to
+the length of the given geometry index buffer.<br/>Default is <code>-1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The geometry ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="addInstance" translate="no">.<a href="#addInstance">addInstance</a><span class="signature">( geometryId : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds a new instance to the batch using the geometry of the given ID and returns
+a new id referring to the new instance to be used by other functions.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The ID of a previously added geometry via <a href="BatchedMesh.html#addGeometry">BatchedMesh#addGeometry</a>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The instance ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="computeBoundingBox" translate="no">.<a href="#computeBoundingBox">computeBoundingBox</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the bounding box, updating <a href="BatchedMesh.html#boundingBox">BatchedMesh#boundingBox</a>.
+Bounding boxes aren't computed by default. They need to be explicitly computed,
+otherwise they are <code>null</code>.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="computeBoundingSphere" translate="no">.<a href="#computeBoundingSphere">computeBoundingSphere</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the bounding sphere, updating <a href="BatchedMesh.html#boundingSphere">BatchedMesh#boundingSphere</a>.
+Bounding spheres aren't computed by default. They need to be explicitly computed,
+otherwise they are <code>null</code>.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="deleteGeometry" translate="no">.<a href="#deleteGeometry">deleteGeometry</a><span class="signature">( geometryId : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deletes the geometry defined by the given ID from this batch. Any instances referencing
+this geometry will also be removed as a side effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The ID of the geometry to remove from the batch.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="deleteInstance" translate="no">.<a href="#deleteInstance">deleteInstance</a><span class="signature">( instanceId : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deletes an existing instance from the batch using the given ID.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of the instance to remove from the batch.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="getBoundingBoxAt" translate="no">.<a href="#getBoundingBoxAt">getBoundingBoxAt</a><span class="signature">( geometryId : <span class="param-type">number</span>, target : <span class="param-type">Box3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the bounding box for the given geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The ID of the geometry to return the bounding box for.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The geometry's bounding box. Returns <code>null</code> if no geometry has been found for the given ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getBoundingSphereAt" translate="no">.<a href="#getBoundingSphereAt">getBoundingSphereAt</a><span class="signature">( geometryId : <span class="param-type">number</span>, target : <span class="param-type">Sphere</span> )</span><span class="type-signature"> : <a href="Sphere.html">Sphere</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the bounding sphere for the given geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The ID of the geometry to return the bounding sphere for.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The geometry's bounding sphere. Returns <code>null</code> if no geometry has been found for the given ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getColorAt" translate="no">.<a href="#getColorAt">getColorAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the color of the defined instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to get the color of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The instance's color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getGeometryIdAt" translate="no">.<a href="#getGeometryIdAt">getGeometryIdAt</a><span class="signature">( instanceId : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the geometry ID of the defined instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to get the geometry ID of.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The instance's geometry ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getGeometryRangeAt" translate="no">.<a href="#getGeometryRangeAt">getGeometryRangeAt</a><span class="signature">( geometryId : <span class="param-type">number</span>, target : <span class="param-type">Object</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Get the range representing the subset of triangles related to the attached geometry,
+indicating the starting offset and count, or <code>null</code> if invalid.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The id of the geometry to get the range of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The result object with range data.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getMatrixAt" translate="no">.<a href="#getMatrixAt">getMatrixAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, matrix : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="Matrix4.html">Matrix4</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the local transformation matrix of the defined instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to get the matrix of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>matrix</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The instance's local transformation matrix.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getVisibleAt" translate="no">.<a href="#getVisibleAt">getVisibleAt</a><span class="signature">( instanceId : <span class="param-type">number</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the visibility state of the defined instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to get the visibility state of.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the instance is visible or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="optimize" translate="no">.<a href="#optimize">optimize</a><span class="signature">( instanceId : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Repacks the sub geometries in [name] to remove any unused space remaining from
+previously deleted geometry, freeing up space to add new geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of the instance to remove from the batch.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setColorAt" translate="no">.<a href="#setColorAt">setColorAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given color to the defined instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to set the color of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to set the instance to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setCustomSort" translate="no">.<a href="#setCustomSort">setCustomSort</a><span class="signature">( func : <span class="param-type">function</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Takes a sort a function that is run before render. The function takes a list of instances to
+sort and a camera. The objects in the list include a &quot;z&quot; field to perform a depth-ordered sort with.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>func</code></td>
+									<td class="description last"><p>The custom sort function.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setGeometryAt" translate="no">.<a href="#setGeometryAt">setGeometryAt</a><span class="signature">( geometryId : <span class="param-type">number</span>, geometry : <span class="param-type">BufferGeometry</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Replaces the geometry at the given ID with the provided geometry. Throws an error if there
+is not enough space reserved for geometry. Calling this will change all instances that are
+rendering that geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The ID of the geometry that should be replaced with the given geometry.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>geometry</code></td>
+									<td class="description last"><p>The new geometry.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The geometry ID.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setGeometryIdAt" translate="no">.<a href="#setGeometryIdAt">setGeometryIdAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, geometryId : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the geometry ID of the instance at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of the instance to set the geometry ID of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The geometry ID to be use by the instance.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setGeometrySize" translate="no">.<a href="#setGeometrySize">setGeometrySize</a><span class="signature">( maxVertexCount : <span class="param-type">number</span>, maxIndexCount : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the available space in the batch's vertex and index buffer attributes to the provided sizes.
+If the provided arguments shrink the geometry buffers but there is not enough unused space at the
+end of the geometry attributes then an error is thrown.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>maxVertexCount</code></td>
+									<td class="description last"><p>The maximum number of vertices to be used by all unique geometries to resize to.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maxIndexCount</code></td>
+									<td class="description last"><p>The maximum number of indices to be used by all unique geometries to resize to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setInstanceCount" translate="no">.<a href="#setInstanceCount">setInstanceCount</a><span class="signature">( maxInstanceCount : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the necessary buffers to support the provided number of instances.
+If the provided arguments shrink the number of instances but there are not enough
+unused Ids at the end of the list then an error is thrown.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>maxInstanceCount</code></td>
+									<td class="description last"><p>The max number of individual instances that can be added and rendered by the batch.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setMatrixAt" translate="no">.<a href="#setMatrixAt">setMatrixAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, matrix : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given local transformation matrix to the defined instance.
+Negatively scaled matrices are not supported.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The ID of an instance to set the matrix of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>matrix</code></td>
+									<td class="description last"><p>A 4x4 matrix representing the local transformation of a single instance.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setVisibleAt" translate="no">.<a href="#setVisibleAt">setVisibleAt</a><span class="signature">( instanceId : <span class="param-type">number</span>, visible : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="BatchedMesh.html">BatchedMesh</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the visibility of the instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The id of the instance to set the visibility of.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>visible</code></td>
+									<td class="description last"><p>Whether the instance is visible or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this batched mesh.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="validateGeometryId" translate="no">.<a href="#validateGeometryId">validateGeometryId</a><span class="signature">( geometryId : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Validates the geometry defined by the given ID.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>geometryId</code></td>
+									<td class="description last"><p>The geometry to validate.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="validateInstanceId" translate="no">.<a href="#validateInstanceId">validateInstanceId</a><span class="signature">( instanceId : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Validates the instance defined by the given ID.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>instanceId</code></td>
+									<td class="description last"><p>The instance to validate.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/objects/BatchedMesh.js" target="_blank" rel="noopener" translate="no">src/objects/BatchedMesh.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 79 - 0
docs/pages/BitcastNode.html

@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BitcastNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">BitcastNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This node represents an operation that reinterprets the bit representation of a value
+in one type as a value in another type.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BitcastNode" translate="no">new <a href="#BitcastNode">BitcastNode</a><span class="signature">( valueNode : <span class="param-type">Node</span>, conversionType : <span class="param-type">string</span>, inputType : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bitcast node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>valueNode</code></td>
+									<td class="description last"><p>The value to convert.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>conversionType</code></td>
+									<td class="description last"><p>The type to convert to.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>inputType</code></td>
+									<td class="description last"><p>The expected input data type of the bitcast operation.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="conversionType" translate="no">.<a href="#conversionType">conversionType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The type the value will be converted to.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="inputType" translate="no">.<a href="#inputType">inputType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The expected input data type of the bitcast operation.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBitcastNode" translate="no">.<a href="#isBitcastNode">isBitcastNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="valueNode" translate="no">.<a href="#valueNode">valueNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The data to bitcast to a new type.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/math/BitcastNode.js" target="_blank" rel="noopener" translate="no">src/nodes/math/BitcastNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 50 - 0
docs/pages/BitonicSort_BitonicSort.html

@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BitonicSort - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">BitonicSort</h1>
+		<section>
+			<header>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h3 class="name name-method" id="BitonicSort" translate="no">new <a href="#BitonicSort">BitonicSort</a><span class="signature">( renderer : <span class="param-type">Renderer</span>, dataBuffer : <span class="param-type">StorageBufferNode</span>, options : <span class="param-type">Object</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new light probe helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The current scene's renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>dataBuffer</code></td>
+									<td class="description last"><p>The data buffer to sort.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>options</code></td>
+									<td class="description last"><p>Options that modify the bitonic sort.<br/>Default is <code>{}</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/gpgpu/BitonicSort.js" target="_blank" rel="noopener" translate="no">examples/jsm/gpgpu/BitonicSort.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 218 - 0
docs/pages/BloomNode.html

@@ -0,0 +1,218 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BloomNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">BloomNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Post processing node for creating a bloom effect.</p>
+<p>By default, the node affects the entire image. For a selective bloom,
+use the <code>emissive</code> material property to control which objects should
+contribute to bloom or not. This can be achieved via MRT.</p>
+<pre><code class="language-js">const postProcessing = new THREE.PostProcessing( renderer );
+const scenePass = pass( scene, camera );
+scenePass.setMRT( mrt( {
+	output,
+	emissive
+} ) );
+const scenePassColor = scenePass.getTextureNode( 'output' );
+const emissivePass = scenePass.getTextureNode( 'emissive' );
+const bloomPass = bloom( emissivePass );
+postProcessing.outputNode = scenePassColor.add( bloomPass );
+</code></pre></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const postProcessing = new THREE.PostProcessing( renderer );
+const scenePass = pass( scene, camera );
+const scenePassColor = scenePass.getTextureNode( 'output' );
+const bloomPass = bloom( scenePassColor );
+postProcessing.outputNode = scenePassColor.add( bloomPass );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">BloomNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { bloom } from 'three/addons/tsl/display/BloomNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BloomNode" translate="no">new <a href="#BloomNode">BloomNode</a><span class="signature">( inputNode : <span class="param-type">Node.&lt;vec4></span>, strength : <span class="param-type">number</span>, radius : <span class="param-type">number</span>, threshold : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bloom node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>inputNode</code></td>
+									<td class="description last"><p>The node that represents the input of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>strength</code></td>
+									<td class="description last"><p>The strength of the bloom.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>radius</code></td>
+									<td class="description last"><p>The radius of the bloom.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>threshold</code></td>
+									<td class="description last"><p>The luminance threshold limits which bright areas contribute to the bloom effect.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="inputNode" translate="no">.<a href="#inputNode">inputNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;vec4></span> </h3>
+					<div class="description">
+						<p>The node that represents the input of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="radius" translate="no">.<a href="#radius">radius</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>The radius of the bloom.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="smoothWidth" translate="no">.<a href="#smoothWidth">smoothWidth</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>Can be used to tweak the extracted luminance from the scene.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="strength" translate="no">.<a href="#strength">strength</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>The strength of the bloom.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="threshold" translate="no">.<a href="#threshold">threshold</a><span class="type-signature"> : <a href="UniformNode.html">UniformNode</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>The luminance threshold limits which bright areas contribute to the bloom effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateBeforeType" translate="no">.<a href="#updateBeforeType">updateBeforeType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The <code>updateBeforeType</code> is set to <code>NodeUpdateType.FRAME</code> since the node renders
+its effect once per frame in <code>updateBefore()</code>.<br/>Default is <code>'frame'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBeforeType">TempNode#updateBeforeType</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="_getSeparableBlurMaterial" translate="no">.<a href="#_getSeparableBlurMaterial">_getSeparableBlurMaterial</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span>, kernelRadius : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="NodeMaterial.html">NodeMaterial</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Create a separable blur material for the given kernel radius.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>kernelRadius</code></td>
+									<td class="description last"><p>The kernel radius.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees internal resources. This method should be called
+when the effect is no longer required.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#dispose">TempNode#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getTextureNode" translate="no">.<a href="#getTextureNode">getTextureNode</a><span class="signature">()</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the result of the effect as a texture node.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A texture node that represents the result of the effect.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the effect.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the effect.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="PassTextureNode.html">PassTextureNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to setup the effect's TSL code.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#setup">TempNode#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateBefore" translate="no">.<a href="#updateBefore">updateBefore</a><span class="signature">( frame : <span class="param-type">NodeFrame</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to render the effect once per frame.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frame</code></td>
+									<td class="description last"><p>The current node frame.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBefore">TempNode#updateBefore</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/tsl/display/BloomNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/tsl/display/BloomNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 163 - 0
docs/pages/BloomPass.html

@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BloomPass - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Pass.html">Pass</a> → </p>
+	<h1 translate="no">BloomPass</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A pass for a basic Bloom effect.</p>
+<p><a href="UnrealBloomPass.html">UnrealBloomPass</a> produces a more advanced Bloom but is also
+more expensive.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const effectBloom = new BloomPass( 0.75 );
+composer.addPass( effectBloom );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">BloomPass</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { BloomPass } from 'three/addons/postprocessing/BloomPass.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BloomPass" translate="no">new <a href="#BloomPass">BloomPass</a><span class="signature">( strength : <span class="param-type">number</span>, kernelSize : <span class="param-type">number</span>, sigma : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new Bloom pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>strength</code></td>
+									<td class="description last"><p>The Bloom strength.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>kernelSize</code></td>
+									<td class="description last"><p>The kernel size.<br/>Default is <code>25</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>sigma</code></td>
+									<td class="description last"><p>The sigma.<br/>Default is <code>4</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="combineUniforms" translate="no">.<a href="#combineUniforms">combineUniforms</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>The combine pass uniforms.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="convolutionUniforms" translate="no">.<a href="#convolutionUniforms">convolutionUniforms</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>The convolution pass uniforms.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="materialCombine" translate="no">.<a href="#materialCombine">materialCombine</a><span class="type-signature"> : <a href="ShaderMaterial.html">ShaderMaterial</a></span> </h3>
+					<div class="description">
+						<p>The combine pass material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="materialConvolution" translate="no">.<a href="#materialConvolution">materialConvolution</a><span class="type-signature"> : <a href="ShaderMaterial.html">ShaderMaterial</a></span> </h3>
+					<div class="description">
+						<p>The convolution pass material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="needsSwap" translate="no">.<a href="#needsSwap">needsSwap</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Overwritten to disable the swap.<br/>Default is <code>false</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#needsSwap">Pass#needsSwap</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever the pass is no longer used in your app.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#dispose">Pass#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, writeBuffer : <span class="param-type">WebGLRenderTarget</span>, readBuffer : <span class="param-type">WebGLRenderTarget</span>, deltaTime : <span class="param-type">number</span>, maskActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs the Bloom pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>writeBuffer</code></td>
+									<td class="description last"><p>The write buffer. This buffer is intended as the rendering
+destination for the pass.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>readBuffer</code></td>
+									<td class="description last"><p>The read buffer. The pass can access the result from the
+previous pass from this buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maskActive</code></td>
+									<td class="description last"><p>Whether masking is active or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#render">Pass#render</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#setSize">Pass#setSize</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/BloomPass.js" target="_blank" rel="noopener" translate="no">examples/jsm/postprocessing/BloomPass.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 221 - 0
docs/pages/BokehPass.html

@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BokehPass - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Pass.html">Pass</a> → </p>
+	<h1 translate="no">BokehPass</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Pass for creating depth of field (DOF) effect.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const bokehPass = new BokehPass( scene, camera, {
+	focus: 500
+	aperture: 5,
+	maxblur: 0.01
+} );
+composer.addPass( bokehPass );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">BokehPass</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { BokehPass } from 'three/addons/postprocessing/BokehPass.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BokehPass" translate="no">new <a href="#BokehPass">BokehPass</a><span class="signature">( scene : <span class="param-type">Scene</span>, camera : <span class="param-type">Camera</span>, params : <span class="param-type">BokehPass~Options</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new Bokeh pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>The scene to render the DOF for.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>params</code></td>
+									<td class="description last"><p>The pass options.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="camera" translate="no">.<a href="#camera">camera</a><span class="type-signature"> : <a href="Camera.html">Camera</a></span> </h3>
+					<div class="description">
+						<p>The camera.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="materialBokeh" translate="no">.<a href="#materialBokeh">materialBokeh</a><span class="type-signature"> : <a href="ShaderMaterial.html">ShaderMaterial</a></span> </h3>
+					<div class="description">
+						<p>The pass bokeh material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="scene" translate="no">.<a href="#scene">scene</a><span class="type-signature"> : <a href="Scene.html">Scene</a></span> </h3>
+					<div class="description">
+						<p>The scene to render the DOF for.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="uniforms" translate="no">.<a href="#uniforms">uniforms</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>The pass uniforms.  Use this object if you want to update the
+<code>focus</code>, <code>aperture</code> or <code>maxblur</code> values at runtime.</p>
+<pre><code class="language-js">pass.uniforms.focus.value = focus;
+pass.uniforms.aperture.value = aperture;
+pass.uniforms.maxblur.value = maxblur;
+</code></pre>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever the pass is no longer used in your app.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#dispose">Pass#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, writeBuffer : <span class="param-type">WebGLRenderTarget</span>, readBuffer : <span class="param-type">WebGLRenderTarget</span>, deltaTime : <span class="param-type">number</span>, maskActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs the Bokeh pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>writeBuffer</code></td>
+									<td class="description last"><p>The write buffer. This buffer is intended as the rendering
+destination for the pass.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>readBuffer</code></td>
+									<td class="description last"><p>The read buffer. The pass can access the result from the
+previous pass from this buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maskActive</code></td>
+									<td class="description last"><p>Whether masking is active or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#render">Pass#render</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#setSize">Pass#setSize</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Options" translate="no">.<a href="#~Options">Options</a> </h3>
+					<div class="description">
+						<p>Constructor options of <code>BokehPass</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>focus</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					1
+				</td>
+			<td class="description last"><p>Defines the effect's focus which is the distance along the camera's look direction in world units.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>aperture</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					0.025
+				</td>
+			<td class="description last"><p>Defines the effect's aperture.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>maxblur</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					1
+				</td>
+			<td class="description last"><p>Defines the effect's maximum blur.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/BokehPass.js" target="_blank" rel="noopener" translate="no">examples/jsm/postprocessing/BokehPass.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 51 - 0
docs/pages/Bone.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Bone - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">Bone</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A bone which is part of a <a href="Skeleton.html">Skeleton</a>. The skeleton in turn is used by
+the <a href="SkinnedMesh.html">SkinnedMesh</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const root = new THREE.Bone();
+const child = new THREE.Bone();
+root.add( child );
+child.position.y = 5;
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Bone" translate="no">new <a href="#Bone">Bone</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bone.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isBone" translate="no">.<a href="#isBone">isBone</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/objects/Bone.js" target="_blank" rel="noopener" translate="no">src/objects/Bone.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 83 - 0
docs/pages/BooleanKeyframeTrack.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BooleanKeyframeTrack - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="KeyframeTrack.html">KeyframeTrack</a> → </p>
+	<h1 translate="no">BooleanKeyframeTrack</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A track for boolean keyframe values.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BooleanKeyframeTrack" translate="no">new <a href="#BooleanKeyframeTrack">BooleanKeyframeTrack</a><span class="signature">( name : <span class="param-type">string</span>, times : <span class="param-type">Array.&lt;number></span>, values : <span class="param-type">Array.&lt;boolean></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new boolean keyframe track.</p>
+<p>This keyframe track type has no <code>interpolation</code> parameter because the
+interpolation is always discrete.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The keyframe track's name.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>times</code></td>
+									<td class="description last"><p>A list of keyframe times.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>values</code></td>
+									<td class="description last"><p>A list of keyframe values.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="DefaultInterpolation" translate="no">.<a href="#DefaultInterpolation">DefaultInterpolation</a><span class="type-signature"> : <a href="global.html#InterpolateLinear">InterpolateLinear</a> | <a href="global.html#InterpolateDiscrete">InterpolateDiscrete</a> | <a href="global.html#InterpolateSmooth">InterpolateSmooth</a></span> </h3>
+					<div class="description">
+						<p>The default interpolation type of this keyframe track.<br/>Default is <code>InterpolateDiscrete</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="KeyframeTrack.html#DefaultInterpolation">KeyframeTrack#DefaultInterpolation</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="ValueBufferType" translate="no">.<a href="#ValueBufferType">ValueBufferType</a><span class="type-signature"> : TypedArray | Array</span> </h3>
+					<div class="description">
+						<p>The value buffer type of this keyframe track.<br/>Default is <code>Array.constructor</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="KeyframeTrack.html#ValueBufferType">KeyframeTrack#ValueBufferType</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
+					<div class="description">
+						<p>The value type name.<br/>Default is <code>'bool'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="KeyframeTrack.html#ValueTypeName">KeyframeTrack#ValueTypeName</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/tracks/BooleanKeyframeTrack.js" target="_blank" rel="noopener" translate="no">src/animation/tracks/BooleanKeyframeTrack.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 451 - 0
docs/pages/Box2.html

@@ -0,0 +1,451 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Box2 - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Box2</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents an axis-aligned bounding box (AABB) in 2D space.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Box2" translate="no">new <a href="#Box2">Box2</a><span class="signature">( min : <span class="param-type">Vector2</span>, max : <span class="param-type">Vector2</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>min</code></td>
+									<td class="description last"><p>A vector representing the lower boundary of the box.<br/>Default is <code>(Infinity,Infinity)</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>max</code></td>
+									<td class="description last"><p>A vector representing the upper boundary of the box.<br/>Default is <code>(-Infinity,-Infinity)</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isBox2" translate="no">.<a href="#isBox2">isBox2</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="max" translate="no">.<a href="#max">max</a><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="description">
+						<p>The upper boundary of the box.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="min" translate="no">.<a href="#min">min</a><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="description">
+						<p>The lower boundary of the box.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="clampPoint" translate="no">.<a href="#clampPoint">clampPoint</a><span class="signature">( point : <span class="param-type">Vector2</span>, target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Clamps the given point within the bounds of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to clamp.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The clamped point.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new box with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="containsBox" translate="no">.<a href="#containsBox">containsBox</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this bounding box includes the entirety of the given bounding box.
+If this box and the given one are identical, this function also returns <code>true</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the bounding box contains the given bounding box or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="containsPoint" translate="no">.<a href="#containsPoint">containsPoint</a><span class="signature">( point : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given point lies within or on the boundaries of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the bounding box contains the given point or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given box to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The box to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="distanceToPoint" translate="no">.<a href="#distanceToPoint">distanceToPoint</a><span class="signature">( point : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the euclidean distance from any edge of this box to the specified point. If
+the given point lies inside of this box, the distance will be <code>0</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to compute the distance to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The euclidean distance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="equals" translate="no">.<a href="#equals">equals</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this bounding box is equal with the given one.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The box to test for equality.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this bounding box is equal with the given one.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByPoint" translate="no">.<a href="#expandByPoint">expandByPoint</a><span class="signature">( point : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands the boundaries of this box to include the given point.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point that should be included by the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByScalar" translate="no">.<a href="#expandByScalar">expandByScalar</a><span class="signature">( scalar : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands each dimension of the box by the given scalar. If negative, the
+dimensions of the box will be contracted.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scalar</code></td>
+									<td class="description last"><p>The scalar value that should expand the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByVector" translate="no">.<a href="#expandByVector">expandByVector</a><span class="signature">( vector : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands this box equilaterally by the given vector. The width of this
+box will be expanded by the x component of the vector in both
+directions. The height of this box will be expanded by the y component of
+the vector in both directions.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>vector</code></td>
+									<td class="description last"><p>The vector that should expand the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getCenter" translate="no">.<a href="#getCenter">getCenter</a><span class="signature">( target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the center point of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The center point.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getParameter" translate="no">.<a href="#getParameter">getParameter</a><span class="signature">( point : <span class="param-type">Vector2</span>, target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a point as a proportion of this box's width and height.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>A point in 2D space.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A point as a proportion of this box's width and height.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getSize" translate="no">.<a href="#getSize">getSize</a><span class="signature">( target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the dimensions of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The size.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersect" translate="no">.<a href="#intersect">intersect</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the intersection of this bounding box and the given one, setting the upper
+bound of this box to the lesser of the two boxes' upper bounds and the
+lower bound of this box to the greater of the two boxes' lower bounds. If
+there's no overlap, makes this box empty.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to intersect with.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsBox" translate="no">.<a href="#intersectsBox">intersectsBox</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given bounding box intersects with this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given bounding box intersects with this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="isEmpty" translate="no">.<a href="#isEmpty">isEmpty</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns true if this box includes zero points within its bounds.
+Note that a box with equal lower and upper bounds still includes one
+point, the one both bounds share.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this box is empty or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="makeEmpty" translate="no">.<a href="#makeEmpty">makeEmpty</a><span class="signature">()</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Makes this box empty which means in encloses a zero space in 2D.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="set" translate="no">.<a href="#set">set</a><span class="signature">( min : <span class="param-type">Vector2</span>, max : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the lower and upper boundaries of this box.
+Please note that this method only copies the values from the given objects.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>min</code></td>
+									<td class="description last"><p>The lower boundary of the box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>max</code></td>
+									<td class="description last"><p>The upper boundary of the box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromCenterAndSize" translate="no">.<a href="#setFromCenterAndSize">setFromCenterAndSize</a><span class="signature">( center : <span class="param-type">Vector2</span>, size : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Centers this box on the given center vector and sets this box's width, height and
+depth to the given size values.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>center</code></td>
+									<td class="description last"><p>The center of the box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>size</code></td>
+									<td class="description last"><p>The x and y dimensions of the box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromPoints" translate="no">.<a href="#setFromPoints">setFromPoints</a><span class="signature">( points : <span class="param-type">Array.&lt;Vector2></span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the upper and lower bounds of this box so it encloses the position data
+in the given array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>points</code></td>
+									<td class="description last"><p>An array holding 2D position data as instances of <a href="Vector2.html">Vector2</a>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="translate" translate="no">.<a href="#translate">translate</a><span class="signature">( offset : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given offset to both the upper and lower bounds of this bounding box,
+effectively moving it in 2D space.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>offset</code></td>
+									<td class="description last"><p>The offset that should be used to translate the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="union" translate="no">.<a href="#union">union</a><span class="signature">( box : <span class="param-type">Box2</span> )</span><span class="type-signature"> : <a href="Box2.html">Box2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the union of this box and another and the given one, setting the upper
+bound of this box to the greater of the two boxes' upper bounds and the
+lower bound of this box to the lesser of the two boxes' lower bounds.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box that will be unioned with this instance.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/math/Box2.js" target="_blank" rel="noopener" translate="no">src/math/Box2.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 648 - 0
docs/pages/Box3.html

@@ -0,0 +1,648 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Box3 - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Box3</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents an axis-aligned bounding box (AABB) in 3D space.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Box3" translate="no">new <a href="#Box3">Box3</a><span class="signature">( min : <span class="param-type">Vector3</span>, max : <span class="param-type">Vector3</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>min</code></td>
+									<td class="description last"><p>A vector representing the lower boundary of the box.<br/>Default is <code>(Infinity,Infinity,Infinity)</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>max</code></td>
+									<td class="description last"><p>A vector representing the upper boundary of the box.<br/>Default is <code>(-Infinity,-Infinity,-Infinity)</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isBox3" translate="no">.<a href="#isBox3">isBox3</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="max" translate="no">.<a href="#max">max</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The upper boundary of the box.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="min" translate="no">.<a href="#min">min</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The lower boundary of the box.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="applyMatrix4" translate="no">.<a href="#applyMatrix4">applyMatrix4</a><span class="signature">( matrix : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Transforms this bounding box by the given 4x4 transformation matrix.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>matrix</code></td>
+									<td class="description last"><p>The transformation matrix.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clampPoint" translate="no">.<a href="#clampPoint">clampPoint</a><span class="signature">( point : <span class="param-type">Vector3</span>, target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Clamps the given point within the bounds of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to clamp.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The clamped point.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new box with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="containsBox" translate="no">.<a href="#containsBox">containsBox</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this bounding box includes the entirety of the given bounding box.
+If this box and the given one are identical, this function also returns <code>true</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the bounding box contains the given bounding box or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="containsPoint" translate="no">.<a href="#containsPoint">containsPoint</a><span class="signature">( point : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given point lies within or on the boundaries of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the bounding box contains the given point or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given box to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The box to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="distanceToPoint" translate="no">.<a href="#distanceToPoint">distanceToPoint</a><span class="signature">( point : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the euclidean distance from any edge of this box to the specified point. If
+the given point lies inside of this box, the distance will be <code>0</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point to compute the distance to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The euclidean distance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="equals" translate="no">.<a href="#equals">equals</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this bounding box is equal with the given one.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The box to test for equality.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this bounding box is equal with the given one.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByObject" translate="no">.<a href="#expandByObject">expandByObject</a><span class="signature">( object : <span class="param-type">Object3D</span>, precise : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands the boundaries of this box to include the given 3D object and
+its children, accounting for the object's, and children's, world
+transforms. The function may result in a larger box than strictly
+necessary (unless the precise parameter is set to true).</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>object</code></td>
+									<td class="description last"><p>The 3D object that should expand the bounding box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>precise</code></td>
+									<td class="description last"><p>If set to <code>true</code>, the method expands the bounding box
+as little as necessary at the expense of more computation.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByPoint" translate="no">.<a href="#expandByPoint">expandByPoint</a><span class="signature">( point : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands the boundaries of this box to include the given point.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>The point that should be included by the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByScalar" translate="no">.<a href="#expandByScalar">expandByScalar</a><span class="signature">( scalar : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands each dimension of the box by the given scalar. If negative, the
+dimensions of the box will be contracted.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scalar</code></td>
+									<td class="description last"><p>The scalar value that should expand the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="expandByVector" translate="no">.<a href="#expandByVector">expandByVector</a><span class="signature">( vector : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Expands this box equilaterally by the given vector. The width of this
+box will be expanded by the x component of the vector in both
+directions. The height of this box will be expanded by the y component of
+the vector in both directions. The depth of this box will be
+expanded by the z component of the vector in both directions.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>vector</code></td>
+									<td class="description last"><p>The vector that should expand the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="fromJSON" translate="no">.<a href="#fromJSON">fromJSON</a><span class="signature">( json : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a serialized structure of the bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>json</code></td>
+									<td class="description last"><p>The serialized json to set the box from.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getBoundingSphere" translate="no">.<a href="#getBoundingSphere">getBoundingSphere</a><span class="signature">( target : <span class="param-type">Sphere</span> )</span><span class="type-signature"> : <a href="Sphere.html">Sphere</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a bounding sphere that encloses this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target sphere that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The bounding sphere that encloses this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getCenter" translate="no">.<a href="#getCenter">getCenter</a><span class="signature">( target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the center point of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The center point.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getParameter" translate="no">.<a href="#getParameter">getParameter</a><span class="signature">( point : <span class="param-type">Vector3</span>, target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a point as a proportion of this box's width, height and depth.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>point</code></td>
+									<td class="description last"><p>A point in 3D space.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A point as a proportion of this box's width, height and depth.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getSize" translate="no">.<a href="#getSize">getSize</a><span class="signature">( target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the dimensions of this box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The size.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersect" translate="no">.<a href="#intersect">intersect</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the intersection of this bounding box and the given one, setting the upper
+bound of this box to the lesser of the two boxes' upper bounds and the
+lower bound of this box to the greater of the two boxes' lower bounds. If
+there's no overlap, makes this box empty.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to intersect with.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsBox" translate="no">.<a href="#intersectsBox">intersectsBox</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given bounding box intersects with this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given bounding box intersects with this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsPlane" translate="no">.<a href="#intersectsPlane">intersectsPlane</a><span class="signature">( plane : <span class="param-type">Plane</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given plane intersects with this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>plane</code></td>
+									<td class="description last"><p>The plane to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given plane intersects with this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsSphere" translate="no">.<a href="#intersectsSphere">intersectsSphere</a><span class="signature">( sphere : <span class="param-type">Sphere</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given bounding sphere intersects with this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>sphere</code></td>
+									<td class="description last"><p>The bounding sphere to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given bounding sphere intersects with this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsTriangle" translate="no">.<a href="#intersectsTriangle">intersectsTriangle</a><span class="signature">( triangle : <span class="param-type">Triangle</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given triangle intersects with this bounding box.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>triangle</code></td>
+									<td class="description last"><p>The triangle to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given triangle intersects with this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="isEmpty" translate="no">.<a href="#isEmpty">isEmpty</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns true if this box includes zero points within its bounds.
+Note that a box with equal lower and upper bounds still includes one
+point, the one both bounds share.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this box is empty or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="makeEmpty" translate="no">.<a href="#makeEmpty">makeEmpty</a><span class="signature">()</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Makes this box empty which means in encloses a zero space in 3D.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="set" translate="no">.<a href="#set">set</a><span class="signature">( min : <span class="param-type">Vector3</span>, max : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the lower and upper boundaries of this box.
+Please note that this method only copies the values from the given objects.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>min</code></td>
+									<td class="description last"><p>The lower boundary of the box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>max</code></td>
+									<td class="description last"><p>The upper boundary of the box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromArray" translate="no">.<a href="#setFromArray">setFromArray</a><span class="signature">( array : <span class="param-type">Array.&lt;number></span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the upper and lower bounds of this box so it encloses the position data
+in the given array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>An array holding 3D position data.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromBufferAttribute" translate="no">.<a href="#setFromBufferAttribute">setFromBufferAttribute</a><span class="signature">( attribute : <span class="param-type">BufferAttribute</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the upper and lower bounds of this box so it encloses the position data
+in the given buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>attribute</code></td>
+									<td class="description last"><p>A buffer attribute holding 3D position data.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromCenterAndSize" translate="no">.<a href="#setFromCenterAndSize">setFromCenterAndSize</a><span class="signature">( center : <span class="param-type">Vector3</span>, size : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Centers this box on the given center vector and sets this box's width, height and
+depth to the given size values.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>center</code></td>
+									<td class="description last"><p>The center of the box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>size</code></td>
+									<td class="description last"><p>The x, y and z dimensions of the box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromObject" translate="no">.<a href="#setFromObject">setFromObject</a><span class="signature">( object : <span class="param-type">Object3D</span>, precise : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the world-axis-aligned bounding box for the given 3D object
+(including its children), accounting for the object's, and children's,
+world transforms. The function may result in a larger box than strictly necessary.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>object</code></td>
+									<td class="description last"><p>The 3D object to compute the bounding box for.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>precise</code></td>
+									<td class="description last"><p>If set to <code>true</code>, the method computes the smallest
+world-axis-aligned bounding box at the expense of more computation.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromPoints" translate="no">.<a href="#setFromPoints">setFromPoints</a><span class="signature">( points : <span class="param-type">Array.&lt;Vector3></span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the upper and lower bounds of this box so it encloses the position data
+in the given array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>points</code></td>
+									<td class="description last"><p>An array holding 3D position data as instances of <a href="Vector3.html">Vector3</a>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toJSON" translate="no">.<a href="#toJSON">toJSON</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a serialized structure of the bounding box.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Serialized structure with fields representing the object state.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="translate" translate="no">.<a href="#translate">translate</a><span class="signature">( offset : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given offset to both the upper and lower bounds of this bounding box,
+effectively moving it in 3D space.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>offset</code></td>
+									<td class="description last"><p>The offset that should be used to translate the bounding box.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="union" translate="no">.<a href="#union">union</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the union of this box and another and the given one, setting the upper
+bound of this box to the greater of the two boxes' upper bounds and the
+lower bound of this box to the lesser of the two boxes' lower bounds.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box that will be unioned with this instance.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this bounding box.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/math/Box3.js" target="_blank" rel="noopener" translate="no">src/math/Box3.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 70 - 0
docs/pages/Box3Helper.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Box3Helper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Line.html">Line</a> → <a href="LineSegments.html">LineSegments</a> → </p>
+	<h1 translate="no">Box3Helper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A helper object to visualize an instance of <a href="Box3.html">Box3</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const box = new THREE.Box3();
+box.setFromCenterAndSize( new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 2, 1, 3 ) );
+const helper = new THREE.Box3Helper( box, 0xffff00 );
+scene.add( helper )
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Box3Helper" translate="no">new <a href="#Box3Helper">Box3Helper</a><span class="signature">( box : <span class="param-type">Box3</span>, color : <span class="param-type">number | Color | string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new box3 helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The box to visualize.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The box's color.<br/>Default is <code>0xffff00</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="box" translate="no">.<a href="#box">box</a><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="description">
+						<p>The box being visualized.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/helpers/Box3Helper.js" target="_blank" rel="noopener" translate="no">src/helpers/Box3Helper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 102 - 0
docs/pages/BoxGeometry.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BoxGeometry - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="BufferGeometry.html">BufferGeometry</a> → </p>
+	<h1 translate="no">BoxGeometry</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A geometry class for a 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></div>
+				<iframe id="viewer" src="../scenes/geometry-browser.html#BoxGeometry"></iframe>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.BoxGeometry( 1, 1, 1 );
+const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+const cube = new THREE.Mesh( geometry, material );
+scene.add( cube );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BoxGeometry" translate="no">new <a href="#BoxGeometry">BoxGeometry</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, depth : <span class="param-type">number</span>, widthSegments : <span class="param-type">number</span>, heightSegments : <span class="param-type">number</span>, depthSegments : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new box geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width. That is, the length of the edges parallel to the X axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height. That is, the length of the edges parallel to the Y axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>depth</code></td>
+									<td class="description last"><p>The depth. That is, the length of the edges parallel to the Z axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>widthSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular faces along the width of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>heightSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular faces along the height of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>depthSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular faces along the depth of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="parameters" translate="no">.<a href="#parameters">parameters</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>Holds the constructor parameters that have been
+used to generate the geometry. Any modification
+after instantiation does not change the geometry.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".fromJSON" translate="no">.<a href="#.fromJSON">fromJSON</a><span class="signature">( data : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="BoxGeometry.html">BoxGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Factory method for creating an instance of this class from the given
+JSON object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>A JSON object representing the serialized geometry.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A new instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/geometries/BoxGeometry.js" target="_blank" rel="noopener" translate="no">src/geometries/BoxGeometry.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 99 - 0
docs/pages/BoxHelper.html

@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BoxHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Line.html">Line</a> → <a href="LineSegments.html">LineSegments</a> → </p>
+	<h1 translate="no">BoxHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Helper object to graphically show the world-axis-aligned bounding box
+around an object. The actual bounding box is handled with <a href="Box3.html">Box3</a>,
+this is just a visual helper for debugging. It can be automatically
+resized with <a href="BoxHelper.html#update">BoxHelper#update</a> when the object it's created from
+is transformed. Note that the object must have a geometry for this to work,
+so it won't work with sprites.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const sphere = new THREE.SphereGeometry();
+const object = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( 0xff0000 ) );
+const box = new THREE.BoxHelper( object, 0xffff00 );
+scene.add( box );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BoxHelper" translate="no">new <a href="#BoxHelper">BoxHelper</a><span class="signature">( object : <span class="param-type">Object3D</span>, color : <span class="param-type">number | Color | string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new box helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>object</code></td>
+									<td class="description last"><p>The 3D object to show the world-axis-aligned bounding box.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The box's color.<br/>Default is <code>0xffff00</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="object" translate="no">.<a href="#object">object</a><span class="type-signature"> : <a href="Object3D.html">Object3D</a></span> </h3>
+					<div class="description">
+						<p>The 3D object being visualized.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setFromObject" translate="no">.<a href="#setFromObject">setFromObject</a><span class="signature">( object : <span class="param-type">Object3D</span> )</span><span class="type-signature"> : <a href="BoxHelper.html">BoxHelper</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates the wireframe box for the passed object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>object</code></td>
+									<td class="description last"><p>The 3D object to create the helper for.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates the helper's geometry to match the dimensions of the object,
+including any children.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/helpers/BoxHelper.js" target="_blank" rel="noopener" translate="no">src/helpers/BoxHelper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 74 - 0
docs/pages/BoxLineGeometry.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BoxLineGeometry - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="BufferGeometry.html">BufferGeometry</a> → </p>
+	<h1 translate="no">BoxLineGeometry</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A special type of box geometry intended for <a href="LineSegments.html">LineSegments</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.BoxLineGeometry();
+const material = new THREE.LineBasicMaterial( { color: 0x00ff00 } );
+const lines = new THREE.LineSegments( geometry, material );
+scene.add( lines );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">BoxLineGeometry</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { BoxLineGeometry } from 'three/addons/geometries/BoxLineGeometry.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BoxLineGeometry" translate="no">new <a href="#BoxLineGeometry">BoxLineGeometry</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, depth : <span class="param-type">number</span>, widthSegments : <span class="param-type">number</span>, heightSegments : <span class="param-type">number</span>, depthSegments : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new box line geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width. That is, the length of the edges parallel to the X axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height. That is, the length of the edges parallel to the Y axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>depth</code></td>
+									<td class="description last"><p>The depth. That is, the length of the edges parallel to the Z axis.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>widthSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular sections along the width of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>heightSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular sections along the height of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>depthSegments</code></td>
+									<td class="description last"><p>Number of segmented rectangular sections along the depth of the sides.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/geometries/BoxLineGeometry.js" target="_blank" rel="noopener" translate="no">examples/jsm/geometries/BoxLineGeometry.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 668 - 0
docs/pages/BufferAttribute.html

@@ -0,0 +1,668 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BufferAttribute - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">BufferAttribute</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class stores data for an attribute (such as vertex positions, face
+indices, normals, colors, UVs, and any custom attributes ) associated with
+a geometry, which allows for more efficient passing of data to the GPU.</p>
+<p>When working with vector-like data, the <code>fromBufferAttribute( attribute, index )</code>
+helper methods on vector and color class might be helpful. E.g. <a href="Vector3.html#fromBufferAttribute">Vector3#fromBufferAttribute</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BufferAttribute" translate="no">new <a href="#BufferAttribute">BufferAttribute</a><span class="signature">( array : <span class="param-type">TypedArray</span>, itemSize : <span class="param-type">number</span>, normalized : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>The array holding the attribute data.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>itemSize</code></td>
+									<td class="description last"><p>The item size.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>normalized</code></td>
+									<td class="description last"><p>Whether the data are normalized or not.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="array" translate="no">.<a href="#array">array</a><span class="type-signature"> : TypedArray</span> </h3>
+					<div class="description">
+						<p>The array holding the attribute data. It should have <code>itemSize * numVertices</code>
+elements, where <code>numVertices</code> is the number of vertices in the associated geometry.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="count" translate="no">.<a href="#count">count</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>Represents the number of items this buffer attribute stores. It is internally computed
+by dividing the <code>array</code> length by the <code>itemSize</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="gpuType" translate="no">.<a href="#gpuType">gpuType</a><span class="type-signature"> : <a href="global.html#FloatType">FloatType</a> | <a href="global.html#IntType">IntType</a></span> </h3>
+					<div class="description">
+						<p>Configures the bound GPU type for use in shaders.</p>
+<p>Note: this only has an effect for integer arrays and is not configurable for float arrays.
+For lower precision float types, use <code>Float16BufferAttribute</code>.<br/>Default is <code>FloatType</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="id" translate="no">.<a href="#id">id</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The ID of the buffer attribute.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBufferAttribute" translate="no">.<a href="#isBufferAttribute">isBufferAttribute</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="itemSize" translate="no">.<a href="#itemSize">itemSize</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The number of values of the array that should be associated with a particular vertex.
+For instance, if this attribute is storing a 3-component vector (such as a position,
+normal, or color), then the value should be <code>3</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="name" translate="no">.<a href="#name">name</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The name of the buffer attribute.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="needsUpdate" translate="no">.<a href="#needsUpdate">needsUpdate</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Flag to indicate that this attribute has changed and should be re-sent to
+the GPU. Set this to <code>true</code> when you modify the value of the array.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="normalized" translate="no">.<a href="#normalized">normalized</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Applies to integer data only. Indicates how the underlying data in the buffer maps to
+the values in the GLSL code. For instance, if <code>array</code> is an instance of <code>UInt16Array</code>,
+and <code>normalized</code> is <code>true</code>, the values <code>0 - +65535</code> in the array data will be mapped to
+<code>0.0f - +1.0f</code> in the GLSL attribute. If <code>normalized</code> is <code>false</code>, the values will be converted
+to floats unmodified, i.e. <code>65535</code> becomes <code>65535.0f</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateRanges" translate="no">.<a href="#updateRanges">updateRanges</a><span class="type-signature"> : Array.&lt;Object></span> </h3>
+					<div class="description">
+						<p>This can be used to only update some components of stored vectors (for example, just the
+component related to color). Use the <code>addUpdateRange()</code> function to add ranges to this array.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="usage" translate="no">.<a href="#usage">usage</a><span class="type-signature"> : <a href="global.html#StaticDrawUsage">StaticDrawUsage</a> | <a href="global.html#DynamicDrawUsage">DynamicDrawUsage</a> | <a href="global.html#StreamDrawUsage">StreamDrawUsage</a> | <a href="global.html#StaticReadUsage">StaticReadUsage</a> | <a href="global.html#DynamicReadUsage">DynamicReadUsage</a> | <a href="global.html#StreamReadUsage">StreamReadUsage</a> | <a href="global.html#StaticCopyUsage">StaticCopyUsage</a> | <a href="global.html#DynamicCopyUsage">DynamicCopyUsage</a> | <a href="global.html#StreamCopyUsage">StreamCopyUsage</a></span> </h3>
+					<div class="description">
+						<p>Defines the intended usage pattern of the data store for optimization purposes.</p>
+<p>Note: After the initial use of a buffer, its usage cannot be changed. Instead,
+instantiate a new one and set the desired usage before the next render.<br/>Default is <code>StaticDrawUsage</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="version" translate="no">.<a href="#version">version</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>A version number, incremented every time the <code>needsUpdate</code> is set to <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="addUpdateRange" translate="no">.<a href="#addUpdateRange">addUpdateRange</a><span class="signature">( start : <span class="param-type">number</span>, count : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds a range of data in the data array to be updated on the GPU.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>start</code></td>
+									<td class="description last"><p>Position at which to start update.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>count</code></td>
+									<td class="description last"><p>The number of components to update.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="applyMatrix3" translate="no">.<a href="#applyMatrix3">applyMatrix3</a><span class="signature">( m : <span class="param-type">Matrix3</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the given 3x3 matrix to the given attribute. Works with
+item size <code>2</code> and <code>3</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>m</code></td>
+									<td class="description last"><p>The matrix to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="applyMatrix4" translate="no">.<a href="#applyMatrix4">applyMatrix4</a><span class="signature">( m : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the given 4x4 matrix to the given attribute. Only works with
+item size <code>3</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>m</code></td>
+									<td class="description last"><p>The matrix to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="applyNormalMatrix" translate="no">.<a href="#applyNormalMatrix">applyNormalMatrix</a><span class="signature">( m : <span class="param-type">Matrix3</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the given 3x3 normal matrix to the given attribute. Only works with
+item size <code>3</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>m</code></td>
+									<td class="description last"><p>The normal matrix to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clearUpdateRanges" translate="no">.<a href="#clearUpdateRanges">clearUpdateRanges</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Clears the update ranges.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new buffer attribute with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( source : <span class="param-type">BufferAttribute</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given buffer attribute to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>source</code></td>
+									<td class="description last"><p>The buffer attribute to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copyArray" translate="no">.<a href="#copyArray">copyArray</a><span class="signature">( array : <span class="param-type">TypedArray | Array</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the given array data into this buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>The array to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copyAt" translate="no">.<a href="#copyAt">copyAt</a><span class="signature">( index1 : <span class="param-type">number</span>, attribute : <span class="param-type">BufferAttribute</span>, index2 : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies a vector from the given buffer attribute to this one. The start
+and destination position in the attribute buffers are represented by the
+given indices.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index1</code></td>
+									<td class="description last"><p>The destination index into this buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>attribute</code></td>
+									<td class="description last"><p>The buffer attribute to copy from.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>index2</code></td>
+									<td class="description last"><p>The source index into the given buffer attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getComponent" translate="no">.<a href="#getComponent">getComponent</a><span class="signature">( index : <span class="param-type">number</span>, component : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the given component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>component</code></td>
+									<td class="description last"><p>The component index.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The returned value.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getW" translate="no">.<a href="#getW">getW</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the w component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The w component.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getX" translate="no">.<a href="#getX">getX</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the x component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The x component.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getY" translate="no">.<a href="#getY">getY</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the y component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The y component.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getZ" translate="no">.<a href="#getZ">getZ</a><span class="signature">( index : <span class="param-type">number</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the z component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The z component.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="onUpload" translate="no">.<a href="#onUpload">onUpload</a><span class="signature">( callback : <span class="param-type">function</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given callback function that is executed after the Renderer has transferred
+the attribute array data to the GPU. Can be used to perform clean-up operations after
+the upload when attribute data are not needed anymore on the CPU side.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>callback</code></td>
+									<td class="description last"><p>The <code>onUpload()</code> callback.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="onUploadCallback" translate="no">.<a href="#onUploadCallback">onUploadCallback</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>A callback function that is executed after the renderer has transferred the attribute
+array data to the GPU.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="set" translate="no">.<a href="#set">set</a><span class="signature">( value : <span class="param-type">TypedArray | Array</span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given array data in the buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The array data to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>offset</code></td>
+									<td class="description last"><p>The offset in this buffer attribute's array.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setComponent" translate="no">.<a href="#setComponent">setComponent</a><span class="signature">( index : <span class="param-type">number</span>, component : <span class="param-type">number</span>, value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given value to the given component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>component</code></td>
+									<td class="description last"><p>The component index.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setUsage" translate="no">.<a href="#setUsage">setUsage</a><span class="signature">( value : <span class="param-type">StaticDrawUsage | DynamicDrawUsage | StreamDrawUsage | StaticReadUsage | DynamicReadUsage | StreamReadUsage | StaticCopyUsage | DynamicCopyUsage | StreamCopyUsage</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the usage of this buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The usage to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this buffer attribute.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setW" translate="no">.<a href="#setW">setW</a><span class="signature">( index : <span class="param-type">number</span>, w : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the w component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>w</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setX" translate="no">.<a href="#setX">setX</a><span class="signature">( index : <span class="param-type">number</span>, x : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the x component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setXY" translate="no">.<a href="#setXY">setXY</a><span class="signature">( index : <span class="param-type">number</span>, x : <span class="param-type">number</span>, y : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the x and y component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The value for the x component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The value for the y component to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setXYZ" translate="no">.<a href="#setXYZ">setXYZ</a><span class="signature">( index : <span class="param-type">number</span>, x : <span class="param-type">number</span>, y : <span class="param-type">number</span>, z : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the x, y and z component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The value for the x component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The value for the y component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>z</code></td>
+									<td class="description last"><p>The value for the z component to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setXYZW" translate="no">.<a href="#setXYZW">setXYZW</a><span class="signature">( index : <span class="param-type">number</span>, x : <span class="param-type">number</span>, y : <span class="param-type">number</span>, z : <span class="param-type">number</span>, w : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the x, y, z and w component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The value for the x component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The value for the y component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>z</code></td>
+									<td class="description last"><p>The value for the z component to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>w</code></td>
+									<td class="description last"><p>The value for the w component to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setY" translate="no">.<a href="#setY">setY</a><span class="signature">( index : <span class="param-type">number</span>, y : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the y component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setZ" translate="no">.<a href="#setZ">setZ</a><span class="signature">( index : <span class="param-type">number</span>, z : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the z component of the vector at the given index.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the buffer attribute.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>z</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toJSON" translate="no">.<a href="#toJSON">toJSON</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Serializes the buffer attribute into JSON.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A JSON object representing the serialized buffer attribute.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="transformDirection" translate="no">.<a href="#transformDirection">transformDirection</a><span class="signature">( m : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the given 4x4 matrix to the given attribute. Only works with
+item size <code>3</code> and with direction vectors.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>m</code></td>
+									<td class="description last"><p>The matrix to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/core/BufferAttribute.js" target="_blank" rel="noopener" translate="no">src/core/BufferAttribute.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 261 - 0
docs/pages/BufferAttributeNode.html

@@ -0,0 +1,261 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BufferAttributeNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="InputNode.html">InputNode</a> → </p>
+	<h1 translate="no">BufferAttributeNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>In earlier <code>three.js</code> versions it was only possible to define attribute data
+on geometry level. With <code>BufferAttributeNode</code>, it is also possible to do this
+on the node level.</p>
+<p>This new approach is especially interesting when geometry data are generated via
+compute shaders. The below line converts a storage buffer into an attribute node.</p>
+<pre><code class="language-js">material.positionNode = positionBuffer.toAttribute();
+</code></pre></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.PlaneGeometry();
+const positionAttribute = geometry.getAttribute( 'position' );
+const colors = [];
+for ( let i = 0; i &lt; position.count; i ++ ) {
+	colors.push( 1, 0, 0 );
+}
+material.colorNode = bufferAttribute( new THREE.Float32BufferAttribute( colors, 3 ) );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BufferAttributeNode" translate="no">new <a href="#BufferAttributeNode">BufferAttributeNode</a><span class="signature">( value : <span class="param-type">BufferAttribute | InterleavedBuffer | TypedArray</span>, bufferType : <span class="param-type">string</span>, bufferStride : <span class="param-type">number</span>, bufferOffset : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new buffer attribute node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The attribute data.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bufferType</code></td>
+									<td class="description last"><p>The buffer type (e.g. <code>'vec3'</code>).<br/>Default is <code>null</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bufferStride</code></td>
+									<td class="description last"><p>The buffer stride.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bufferOffset</code></td>
+									<td class="description last"><p>The buffer offset.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="attribute" translate="no">.<a href="#attribute">attribute</a><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="description">
+						<p>A reference to the buffer attribute.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="bufferOffset" translate="no">.<a href="#bufferOffset">bufferOffset</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The buffer offset.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="bufferStride" translate="no">.<a href="#bufferStride">bufferStride</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The buffer stride.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="bufferType" translate="no">.<a href="#bufferType">bufferType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The buffer type (e.g. <code>'vec3'</code>).<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="global" translate="no">.<a href="#global">global</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p><code>BufferAttributeNode</code> sets this property to <code>true</code> by default.<br/>Default is <code>true</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#global">InputNode#global</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="instanced" translate="no">.<a href="#instanced">instanced</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether the attribute is instanced or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBufferNode" translate="no">.<a href="#isBufferNode">isBufferNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="usage" translate="no">.<a href="#usage">usage</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The usage property. Set this to <code>THREE.DynamicDrawUsage</code> via <code>.setUsage()</code>,
+if you are planning to update the attribute data per frame.<br/>Default is <code>StaticDrawUsage</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="generate" translate="no">.<a href="#generate">generate</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Generates the code snippet of the buffer attribute node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#generate">InputNode#generate</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The generated code snippet.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getHash" translate="no">.<a href="#getHash">getHash</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is overwritten since the attribute data might be shared
+and thus the hash should be shared as well.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#getHash">InputNode#getHash</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The hash.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getInputType" translate="no">.<a href="#getInputType">getInputType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Overwrites the default implementation to return a fixed value <code>'bufferAttribute'</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#getInputType">InputNode#getInputType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The input type.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getNodeType" translate="no">.<a href="#getNodeType">getNodeType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is overwritten since the node type is inferred from
+the buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#getNodeType">InputNode#getNodeType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The node type.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setInstanced" translate="no">.<a href="#setInstanced">setInstanced</a><span class="signature">( value : <span class="param-type">boolean</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the <code>instanced</code> property to the given value.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The value to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setUsage" translate="no">.<a href="#setUsage">setUsage</a><span class="signature">( value : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferAttributeNode.html">BufferAttributeNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the <code>usage</code> property to the given value.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The usage to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Depending on which value was passed to the node, <code>setup()</code> behaves
+differently. If no instance of <code>BufferAttribute</code> was passed, the method
+creates an internal attribute and configures it respectively.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="InputNode.html#setup">InputNode#setup</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/accessors/BufferAttributeNode.js" target="_blank" rel="noopener" translate="no">src/nodes/accessors/BufferAttributeNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 624 - 0
docs/pages/BufferGeometry.html

@@ -0,0 +1,624 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BufferGeometry - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → </p>
+	<h1 translate="no">BufferGeometry</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A representation of mesh, line, or point geometry. Includes vertex
+positions, face indices, normals, colors, UVs, and custom attributes
+within buffers, reducing the cost of passing all this data to the GPU.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.BufferGeometry();
+// create a simple square shape. We duplicate the top left and bottom right
+// vertices because each vertex needs to appear once per triangle.
+const vertices = new Float32Array( [
+	-1.0, -1.0,  1.0, // v0
+	 1.0, -1.0,  1.0, // v1
+	 1.0,  1.0,  1.0, // v2
+	 1.0,  1.0,  1.0, // v3
+	-1.0,  1.0,  1.0, // v4
+	-1.0, -1.0,  1.0  // v5
+] );
+// itemSize = 3 because there are 3 values (components) per vertex
+geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
+const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
+const mesh = new THREE.Mesh( geometry, material );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BufferGeometry" translate="no">new <a href="#BufferGeometry">BufferGeometry</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new geometry.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="attributes" translate="no">.<a href="#attributes">attributes</a><span class="type-signature"> : Object.&lt;string, (<a href="BufferAttribute.html">BufferAttribute</a>|<a href="InterleavedBufferAttribute.html">InterleavedBufferAttribute</a>)></span> </h3>
+					<div class="description">
+						<p>This dictionary has as id the name of the attribute to be set and as value
+the buffer attribute to set it to. Rather than accessing this property directly,
+use <code>setAttribute()</code> and <code>getAttribute()</code> to access attributes of this geometry.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="boundingBox" translate="no">.<a href="#boundingBox">boundingBox</a><span class="type-signature"> : <a href="Box3.html">Box3</a></span> </h3>
+					<div class="description">
+						<p>Bounding box for the geometry which can be calculated with <code>computeBoundingBox()</code>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="boundingSphere" translate="no">.<a href="#boundingSphere">boundingSphere</a><span class="type-signature"> : <a href="Sphere.html">Sphere</a></span> </h3>
+					<div class="description">
+						<p>Bounding sphere for the geometry which can be calculated with <code>computeBoundingSphere()</code>.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="drawRange" translate="no">.<a href="#drawRange">drawRange</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>Determines the part of the geometry to render. This should not be set directly,
+instead use <code>setDrawRange()</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="groups" translate="no">.<a href="#groups">groups</a><span class="type-signature"> : Array.&lt;Object></span> </h3>
+					<div class="description">
+						<p>Split the geometry into groups, each of which will be rendered in a
+separate draw call. This allows an array of materials to be used with the geometry.</p>
+<p>Use <code>addGroup()</code> and <code>clearGroups()</code> to edit groups, rather than modifying this array directly.</p>
+<p>Every vertex and index must belong to exactly one group — groups must not share vertices or
+indices, and must not leave vertices or indices unused.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="id" translate="no">.<a href="#id">id</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The ID of the geometry.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="index" translate="no">.<a href="#index">index</a><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="description">
+						<p>Allows for vertices to be re-used across multiple triangles; this is
+called using &quot;indexed triangles&quot;. Each triangle is associated with the
+indices of three vertices. This attribute therefore stores the index of
+each vertex for each triangular face. If this attribute is not set, the
+renderer assumes that each three contiguous positions represent a single triangle.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="indirect" translate="no">.<a href="#indirect">indirect</a><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="description">
+						<p>A (storage) buffer attribute which was generated with a compute shader and
+now defines indirect draw calls.</p>
+<p>Can only be used with <a href="WebGPURenderer.html">WebGPURenderer</a> and a WebGPU backend.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBufferGeometry" translate="no">.<a href="#isBufferGeometry">isBufferGeometry</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="morphAttributes" translate="no">.<a href="#morphAttributes">morphAttributes</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>This dictionary holds the morph targets of the geometry.</p>
+<p>Note: Once the geometry has been rendered, the morph attribute data cannot
+be changed. You will have to call `dispose()?, and create a new geometry instance.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="morphTargetsRelative" translate="no">.<a href="#morphTargetsRelative">morphTargetsRelative</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Used to control the morph target behavior; when set to <code>true</code>, the morph
+target data is treated as relative offsets, rather than as absolute
+positions/normals.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="name" translate="no">.<a href="#name">name</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The name of the geometry.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="userData" translate="no">.<a href="#userData">userData</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>An object that can be used to store custom data about the geometry.
+It should not hold references to functions as these will not be cloned.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="uuid" translate="no">.<a href="#uuid">uuid</a><span class="type-signature"> : string</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The UUID of the geometry.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="addGroup" translate="no">.<a href="#addGroup">addGroup</a><span class="signature">( start : <span class="param-type">number</span>, count : <span class="param-type">number</span>, materialIndex : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds a group to this geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>start</code></td>
+									<td class="description last"><p>The first element in this draw call. That is the first
+vertex for non-indexed geometry, otherwise the first triangle index.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>count</code></td>
+									<td class="description last"><p>Specifies how many vertices (or indices) are part of this group.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>materialIndex</code></td>
+									<td class="description last"><p>The material array index to use.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="applyMatrix4" translate="no">.<a href="#applyMatrix4">applyMatrix4</a><span class="signature">( matrix : <span class="param-type">Matrix4</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the given 4x4 transformation matrix to the geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>matrix</code></td>
+									<td class="description last"><p>The matrix to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="applyQuaternion" translate="no">.<a href="#applyQuaternion">applyQuaternion</a><span class="signature">( q : <span class="param-type">Quaternion</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applies the rotation represented by the Quaternion to the geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>q</code></td>
+									<td class="description last"><p>The Quaternion to apply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="center" translate="no">.<a href="#center">center</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Center the geometry based on its bounding box.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clearGroups" translate="no">.<a href="#clearGroups">clearGroups</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Clears all groups.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new geometry with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="computeBoundingBox" translate="no">.<a href="#computeBoundingBox">computeBoundingBox</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the bounding box of the geometry, and updates the <code>boundingBox</code> member.
+The bounding box is not computed by the engine; it must be computed by your app.
+You may need to recompute the bounding box if the geometry vertices are modified.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="computeBoundingSphere" translate="no">.<a href="#computeBoundingSphere">computeBoundingSphere</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes the bounding sphere of the geometry, and updates the <code>boundingSphere</code> member.
+The engine automatically computes the bounding sphere when it is needed, e.g., for ray casting or view frustum culling.
+You may need to recompute the bounding sphere if the geometry vertices are modified.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="computeTangents" translate="no">.<a href="#computeTangents">computeTangents</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Calculates and adds a tangent attribute to this geometry.</p>
+<p>The computation is only supported for indexed geometries and if position, normal, and uv attributes
+are defined. When using a tangent space normal map, prefer the MikkTSpace algorithm provided by
+BufferGeometryUtils#computeMikkTSpaceTangents instead.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="computeVertexNormals" translate="no">.<a href="#computeVertexNormals">computeVertexNormals</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Computes vertex normals for the given vertex data. For indexed geometries, the method sets
+each vertex normal to be the average of the face normals of the faces that share that vertex.
+For non-indexed geometries, vertices are not shared, and the method sets each vertex normal
+to be the same as the face normal.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( source : <span class="param-type">BufferGeometry</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given geometry to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>source</code></td>
+									<td class="description last"><p>The geometry to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="deleteAttribute" translate="no">.<a href="#deleteAttribute">deleteAttribute</a><span class="signature">( name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Deletes the attribute for the given name.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The attribute name to delete.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+						<h5>Fires:</h5>
+						<ul>
+							<li>BufferGeometry#event:dispose</li>
+						</ul>
+					</div>
+					<h3 class="name name-method" id="getAttribute" translate="no">.<a href="#getAttribute">getAttribute</a><span class="signature">( name : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a> | <a href="InterleavedBufferAttribute.html">InterleavedBufferAttribute</a> | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the buffer attribute for the given name.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The attribute name.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The buffer attribute.
+Returns <code>undefined</code> if not attribute has been found.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getIndex" translate="no">.<a href="#getIndex">getIndex</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the index of this geometry.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The index. Returns <code>null</code> if no index is defined.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getIndirect" translate="no">.<a href="#getIndirect">getIndirect</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferAttribute.html">BufferAttribute</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the indirect attribute of this geometry.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The indirect attribute. Returns <code>null</code> if no indirect attribute is defined.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="hasAttribute" translate="no">.<a href="#hasAttribute">hasAttribute</a><span class="signature">( name : <span class="param-type">string</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this geometry has an attribute for the given name.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The attribute name.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this geometry has an attribute for the given name or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="lookAt" translate="no">.<a href="#lookAt">lookAt</a><span class="signature">( vector : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Rotates the geometry to face a point in 3D space. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#lookAt">Object3D#lookAt</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>vector</code></td>
+									<td class="description last"><p>The target point.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="normalizeNormals" translate="no">.<a href="#normalizeNormals">normalizeNormals</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Ensures every normal vector in a geometry will have a magnitude of <code>1</code>. This will
+correct lighting on the geometry surfaces.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="rotateX" translate="no">.<a href="#rotateX">rotateX</a><span class="signature">( angle : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Rotates the geometry about the X axis. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#rotation">Object3D#rotation</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>angle</code></td>
+									<td class="description last"><p>The angle in radians.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="rotateY" translate="no">.<a href="#rotateY">rotateY</a><span class="signature">( angle : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Rotates the geometry about the Y axis. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#rotation">Object3D#rotation</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>angle</code></td>
+									<td class="description last"><p>The angle in radians.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="rotateZ" translate="no">.<a href="#rotateZ">rotateZ</a><span class="signature">( angle : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Rotates the geometry about the Z axis. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#rotation">Object3D#rotation</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>angle</code></td>
+									<td class="description last"><p>The angle in radians.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="scale" translate="no">.<a href="#scale">scale</a><span class="signature">( x : <span class="param-type">number</span>, y : <span class="param-type">number</span>, z : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Scales the geometry. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#scale">Object3D#scale</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The x scale.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The y scale.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>z</code></td>
+									<td class="description last"><p>The z scale.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setAttribute" translate="no">.<a href="#setAttribute">setAttribute</a><span class="signature">( name : <span class="param-type">string</span>, attribute : <span class="param-type">BufferAttribute | InterleavedBufferAttribute</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given attribute for the given name.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The attribute name.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>attribute</code></td>
+									<td class="description last"><p>The attribute to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setDrawRange" translate="no">.<a href="#setDrawRange">setDrawRange</a><span class="signature">( start : <span class="param-type">number</span>, count : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the draw range for this geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>start</code></td>
+									<td class="description last"><p>The first vertex for non-indexed geometry, otherwise the first triangle index.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>count</code></td>
+									<td class="description last"><p>For non-indexed BufferGeometry, <code>count</code> is the number of vertices to render.
+For indexed BufferGeometry, <code>count</code> is the number of indices to render.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setFromPoints" translate="no">.<a href="#setFromPoints">setFromPoints</a><span class="signature">( points : <span class="param-type">Array.&lt;Vector2> | Array.&lt;Vector3></span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines a geometry by creating a <code>position</code> attribute based on the given array of points. The array
+can hold 2D or 3D vectors. When using two-dimensional data, the <code>z</code> coordinate for all vertices is
+set to <code>0</code>.</p>
+<p>If the method is used with an existing <code>position</code> attribute, the vertex data are overwritten with the
+data from the array. The length of the array must match the vertex count.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>points</code></td>
+									<td class="description last"><p>The points.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setIndex" translate="no">.<a href="#setIndex">setIndex</a><span class="signature">( index : <span class="param-type">Array.&lt;number> | BufferAttribute</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given index to this geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setIndirect" translate="no">.<a href="#setIndirect">setIndirect</a><span class="signature">( indirect : <span class="param-type">BufferAttribute</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given indirect attribute to this geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>indirect</code></td>
+									<td class="description last"><p>The attribute holding indirect draw calls.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toJSON" translate="no">.<a href="#toJSON">toJSON</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Serializes the geometry into JSON.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A JSON object representing the serialized geometry.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toNonIndexed" translate="no">.<a href="#toNonIndexed">toNonIndexed</a><span class="signature">()</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Return a new non-index version of this indexed geometry. If the geometry
+is already non-indexed, the method is a NOOP.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The non-indexed version of this indexed geometry.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="translate" translate="no">.<a href="#translate">translate</a><span class="signature">( x : <span class="param-type">number</span>, y : <span class="param-type">number</span>, z : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Translates the geometry. This is typically done as a one time
+operation, and not during a loop. Use <a href="Object3D.html#position">Object3D#position</a> for typical
+real-time mesh rotation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The x offset.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The y offset.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>z</code></td>
+									<td class="description last"><p>The z offset.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/core/BufferGeometry.js" target="_blank" rel="noopener" translate="no">src/core/BufferGeometry.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 103 - 0
docs/pages/BufferGeometryLoader.html

@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BufferGeometryLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">BufferGeometryLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Class for loading geometries. The files are internally
+loaded via <a href="FileLoader.html">FileLoader</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const loader = new THREE.BufferGeometryLoader();
+const geometry = await loader.loadAsync( 'models/json/pressure.json' );
+const material = new THREE.MeshBasicMaterial( { color: 0xF5F5F5 } );
+const object = new THREE.Mesh( geometry, material );
+scene.add( object );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BufferGeometryLoader" translate="no">new <a href="#BufferGeometryLoader">BufferGeometryLoader</a><span class="signature">( manager : <span class="param-type">LoadingManager</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new geometry loader.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>manager</code></td>
+									<td class="description last"><p>The loading manager.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and pass the loaded geometry to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="parse" translate="no">.<a href="#parse">parse</a><span class="signature">( json : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="BufferGeometry.html">BufferGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the given JSON object and returns a geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>json</code></td>
+									<td class="description last"><p>The serialized geometry.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#parse">Loader#parse</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The parsed geometry.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/loaders/BufferGeometryLoader.js" target="_blank" rel="noopener" translate="no">src/loaders/BufferGeometryLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 121 - 0
docs/pages/BufferNode.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BufferNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="InputNode.html">InputNode</a> → <a href="UniformNode.html">UniformNode</a> → </p>
+	<h1 translate="no">BufferNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A special type of uniform node which represents array-like data
+as uniform buffers. The access usually happens via <code>element()</code>
+which returns an instance of <a href="ArrayElementNode.html">ArrayElementNode</a>. For example:</p>
+<p>In general, it is recommended to use the more managed <a href="UniformArrayNode.html">UniformArrayNode</a>
+since it handles more input types and automatically cares about buffer paddings.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const bufferNode = buffer( array, 'mat4', count );
+const matrixNode = bufferNode.element( index ); // access a matrix from the buffer
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BufferNode" translate="no">new <a href="#BufferNode">BufferNode</a><span class="signature">( value : <span class="param-type">Array.&lt;number></span>, bufferType : <span class="param-type">string</span>, bufferCount : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new buffer node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>Array-like buffer data.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bufferType</code></td>
+									<td class="description last"><p>The data type of the buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>bufferCount</code></td>
+									<td class="description last"><p>The count of buffer elements.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="bufferCount" translate="no">.<a href="#bufferCount">bufferCount</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The uniform node that holds the value of the reference node.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="bufferType" translate="no">.<a href="#bufferType">bufferType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The data type of the buffer.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBufferNode" translate="no">.<a href="#isBufferNode">isBufferNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getElementType" translate="no">.<a href="#getElementType">getElementType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>The data type of the buffer elements.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="UniformNode.html#getElementType">UniformNode#getElementType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The element type.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getInputType" translate="no">.<a href="#getInputType">getInputType</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Overwrites the default implementation to return a fixed value <code>'buffer'</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="UniformNode.html#getInputType">UniformNode#getInputType</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The input type.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/accessors/BufferNode.js" target="_blank" rel="noopener" translate="no">src/nodes/accessors/BufferNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 83 - 0
docs/pages/BuiltinNode.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BuiltinNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">BuiltinNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>The node allows to set values for built-in shader variables. That is
+required for features like hardware-accelerated vertex clipping.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BuiltinNode" translate="no">new <a href="#BuiltinNode">BuiltinNode</a><span class="signature">( name : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new builtin node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The name of the built-in shader variable.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isBuiltinNode" translate="no">.<a href="#isBuiltinNode">isBuiltinNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="name" translate="no">.<a href="#name">name</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The name of the built-in shader variable.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#name">Node#name</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="generate" translate="no">.<a href="#generate">generate</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Generates the code snippet of the builtin node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#generate">Node#generate</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The generated code snippet.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/accessors/BuiltinNode.js" target="_blank" rel="noopener" translate="no">src/nodes/accessors/BuiltinNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 65 - 0
docs/pages/BumpMapNode.html

@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BumpMapNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">BumpMapNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class can be used for applying bump maps to materials.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">material.normalNode = bumpMap( texture( bumpTex ) );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BumpMapNode" translate="no">new <a href="#BumpMapNode">BumpMapNode</a><span class="signature">( textureNode : <span class="param-type">Node.&lt;float></span>, scaleNode : <span class="param-type">Node.&lt;float></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bump map node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>textureNode</code></td>
+									<td class="description last"><p>Represents the bump map data.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>scaleNode</code></td>
+									<td class="description last"><p>Controls the intensity of the bump effect.<br/>Default is <code>null</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="scaleNode" translate="no">.<a href="#scaleNode">scaleNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>Controls the intensity of the bump effect.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="textureNode" translate="no">.<a href="#textureNode">textureNode</a><span class="type-signature"> : <a href="Node.html">Node</a>.&lt;float></span> </h3>
+					<div class="description">
+						<p>Represents the bump map data.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/display/BumpMapNode.js" target="_blank" rel="noopener" translate="no">src/nodes/display/BumpMapNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 83 - 0
docs/pages/BundleGroup.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BundleGroup - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Group.html">Group</a> → </p>
+	<h1 translate="no">BundleGroup</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A specialized group which enables applications access to the
+Render Bundle API of WebGPU. The group with all its descendant nodes
+are considered as one render bundle and processed as such by
+the renderer.</p>
+<p>This module is only fully supported by <code>WebGPURenderer</code> with a WebGPU backend.
+With a WebGL backend, the group can technically be rendered but without
+any performance improvements.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BundleGroup" translate="no">new <a href="#BundleGroup">BundleGroup</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bundle group.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isBundleGroup" translate="no">.<a href="#isBundleGroup">isBundleGroup</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="needsUpdate" translate="no">.<a href="#needsUpdate">needsUpdate</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Set this property to <code>true</code> when the bundle group has changed.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="static" translate="no">.<a href="#static">static</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether the bundle is static or not. When set to <code>true</code>, the structure
+is assumed to be static and does not change. E.g. no new objects are
+added to the group</p>
+<p>If a change is required, an update can still be forced by setting the
+<code>needsUpdate</code> flag to <code>true</code>.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="type" translate="no">.<a href="#type">type</a><span class="type-signature"> : string</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This property is only relevant for detecting types
+during serialization/deserialization. It should always
+match the class name.<br/>Default is <code>'BundleGroup'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Group.html#type">Group#type</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="version" translate="no">.<a href="#version">version</a><span class="type-signature"> : number</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The bundle group's version.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/renderers/common/BundleGroup.js" target="_blank" rel="noopener" translate="no">src/renderers/common/BundleGroup.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 73 - 0
docs/pages/BypassNode.html

@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>BypassNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">BypassNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>The class generates the code of a given node but returns another node in the output.
+This can be used to call a method or node that does not return a value, i.e.
+type <code>void</code> on an input where returning a value is required. Example:</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">material.colorNode = myColor.bypass( runVoidFn() )
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="BypassNode" translate="no">new <a href="#BypassNode">BypassNode</a><span class="signature">( outputNode : <span class="param-type">Node</span>, callNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new bypass node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>outputNode</code></td>
+									<td class="description last"><p>The output node.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>callNode</code></td>
+									<td class="description last"><p>The call node.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="callNode" translate="no">.<a href="#callNode">callNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The call node.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isBypassNode" translate="no">.<a href="#isBypassNode">isBypassNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="outputNode" translate="no">.<a href="#outputNode">outputNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>The output node.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/core/BypassNode.js" target="_blank" rel="noopener" translate="no">src/nodes/core/BypassNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 104 - 0
docs/pages/CCDIKHelper.html

@@ -0,0 +1,104 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CCDIKHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">CCDIKHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Helper for visualizing IK bones.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CCDIKHelper</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CCDIKHelper } from 'three/addons/animation/CCDIKSolver.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CCDIKHelper" translate="no">new <a href="#CCDIKHelper">CCDIKHelper</a><span class="signature">( mesh : <span class="param-type">SkinnedMesh</span>, iks : <span class="param-type">Array.&lt;CCDIKSolver~IK></span>, sphereSize : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mesh</code></td>
+									<td class="description last"><p>The skinned mesh.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>iks</code></td>
+									<td class="description last"><p>The IK objects.<br/>Default is <code>[]</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>sphereSize</code></td>
+									<td class="description last"><p>The sphere size.<br/>Default is <code>0.25</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="effectorSphereMaterial" translate="no">.<a href="#effectorSphereMaterial">effectorSphereMaterial</a><span class="type-signature"> : <a href="MeshBasicMaterial.html">MeshBasicMaterial</a></span> </h3>
+					<div class="description">
+						<p>The material for the effector spheres.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="iks" translate="no">.<a href="#iks">iks</a><span class="type-signature"> : Array.&lt;<a href="CCDIKSolver.html#~IK">CCDIKSolver~IK</a>></span> </h3>
+					<div class="description">
+						<p>The IK objects.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lineMaterial" translate="no">.<a href="#lineMaterial">lineMaterial</a><span class="type-signature"> : <a href="LineBasicMaterial.html">LineBasicMaterial</a></span> </h3>
+					<div class="description">
+						<p>A global line material.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="linkSphereMaterial" translate="no">.<a href="#linkSphereMaterial">linkSphereMaterial</a><span class="type-signature"> : <a href="MeshBasicMaterial.html">MeshBasicMaterial</a></span> </h3>
+					<div class="description">
+						<p>The material for the link spheres.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="root" translate="no">.<a href="#root">root</a><span class="type-signature"> : <a href="SkinnedMesh.html">SkinnedMesh</a></span> </h3>
+					<div class="description">
+						<p>The skinned mesh this helper refers to.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="sphereGeometry" translate="no">.<a href="#sphereGeometry">sphereGeometry</a><span class="type-signature"> : <a href="SkinnedMesh.html">SkinnedMesh</a></span> </h3>
+					<div class="description">
+						<p>The helpers sphere geometry.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="targetSphereMaterial" translate="no">.<a href="#targetSphereMaterial">targetSphereMaterial</a><span class="type-signature"> : <a href="MeshBasicMaterial.html">MeshBasicMaterial</a></span> </h3>
+					<div class="description">
+						<p>The material for the target spheres.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance.
+Call this method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/animation/CCDIKSolver.js" target="_blank" rel="noopener" translate="no">examples/jsm/animation/CCDIKSolver.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 301 - 0
docs/pages/CCDIKSolver.html

@@ -0,0 +1,301 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CCDIKSolver - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">CCDIKSolver</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class solves the Inverse Kinematics Problem with a <a href="https://web.archive.org/web/20221206080850/https://sites.google.com/site/auraliusproject/ccd-algorithm">CCD Algorithm</a>.</p>
+<p><code>CCDIKSolver</code> is designed to work with instances of <a href="SkinnedMesh.html">SkinnedMesh</a>.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CCDIKSolver</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CCDIKSolver } from 'three/addons/animation/CCDIKSolver.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CCDIKSolver" translate="no">new <a href="#CCDIKSolver">CCDIKSolver</a><span class="signature">( mesh : <span class="param-type">SkinnedMesh</span>, iks : <span class="param-type">Array.&lt;CCDIKSolver~IK></span> )</span> </h3>
+					<div class="method">
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mesh</code></td>
+									<td class="description last"><p>The skinned mesh.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>iks</code></td>
+									<td class="description last"><p>The IK objects.<br/>Default is <code>[]</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="iks" translate="no">.<a href="#iks">iks</a><span class="type-signature"> : <a href="SkinnedMesh.html">SkinnedMesh</a></span> </h3>
+					<div class="description">
+						<p>The IK objects.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mesh" translate="no">.<a href="#mesh">mesh</a><span class="type-signature"> : <a href="SkinnedMesh.html">SkinnedMesh</a></span> </h3>
+					<div class="description">
+						<p>The skinned mesh.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="createHelper" translate="no">.<a href="#createHelper">createHelper</a><span class="signature">( sphereSize : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="CCDIKHelper.html">CCDIKHelper</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Creates a helper for visualizing the CCDIK.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>sphereSize</code></td>
+									<td class="description last"><p>The sphere size.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The created helper.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">( globalBlendFactor : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="CCDIKSolver.html">CCDIKSolver</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates all IK bones by solving the CCD algorithm.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>globalBlendFactor</code></td>
+									<td class="description last"><p>Blend factor applied if an IK chain doesn't have its own .blendFactor.<br/>Default is <code>1.0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateOne" translate="no">.<a href="#updateOne">updateOne</a><span class="signature">( ik : <span class="param-type">CCDIKSolver~IK</span>, overrideBlend : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="CCDIKSolver.html">CCDIKSolver</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates one IK bone solving the CCD algorithm.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>ik</code></td>
+									<td class="description last"><p>The IK to update.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>overrideBlend</code></td>
+									<td class="description last"><p>If the IK object does not define <code>blendFactor</code>, this value is used.<br/>Default is <code>1.0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~BoneLink" translate="no">.<a href="#~BoneLink">BoneLink</a> </h3>
+					<div class="description">
+						<p>This type represents bone links.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>index</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The index of a linked bone which refers to a bone in the <code>Skeleton.bones</code> array.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>limitation</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Rotation axis.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>rotationMin</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Rotation minimum limit.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>rotationMax</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Rotation maximum limit.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>enabled</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					true
+				</td>
+			<td class="description last"><p>Whether the link is enabled or not.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<div class="member">
+					<h3 class="name" id="~IK" translate="no">.<a href="#~IK">IK</a> </h3>
+					<div class="description">
+						<p>This type represents IK configuration objects.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>target</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The target bone index which refers to a bone in the <code>Skeleton.bones</code> array.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>effector</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The effector bone index which refers to a bone in the <code>Skeleton.bones</code> array.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>links</code></td>
+			<td class="type">
+<span class="param-type">Array.&lt;<a href="CCDIKSolver.html#~BoneLink">CCDIKSolver~BoneLink</a>></span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>An array of bone links.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>iteration</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					1
+				</td>
+			<td class="description last"><p>Iteration number of calculation. Smaller is faster but less precise.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>minAngle</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Minimum rotation angle in a step in radians.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>maxAngle</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Minimum rotation angle in a step in radians.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>blendFactor</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The blend factor.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/animation/CCDIKSolver.js" target="_blank" rel="noopener" translate="no">examples/jsm/animation/CCDIKSolver.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 403 - 0
docs/pages/CSM.html

@@ -0,0 +1,403 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSM - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">CSM</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>An implementation of Cascade Shadow Maps (CSM).</p>
+<p>This module can only be used with <a href="WebGLRenderer.html">WebGLRenderer</a>. When using <a href="WebGPURenderer.html">WebGPURenderer</a>,
+use <a href="CSMShadowNode.html">CSMShadowNode</a> instead.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSM</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSM } from 'three/addons/csm/CSM.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSM" translate="no">new <a href="#CSM">CSM</a><span class="signature">( data : <span class="param-type">CSM~Data</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSM instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>The CSM data.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Classes</h2>
+				<dl>
+					<dt><a href="CSM.html">CSM</a></dt>
+					<dd></dd>
+				</dl>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="breaks" translate="no">.<a href="#breaks">breaks</a><span class="type-signature"> : Array.&lt;number></span> </h3>
+					<div class="description">
+						<p>An array of numbers in the range <code>[0,1]</code> the defines how the
+mainCSM frustum should be split up.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="camera" translate="no">.<a href="#camera">camera</a><span class="type-signature"> : <a href="Camera.html">Camera</a></span> </h3>
+					<div class="description">
+						<p>The scene's camera.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="cascades" translate="no">.<a href="#cascades">cascades</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The number of cascades.<br/>Default is <code>3</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="customSplitsCallback" translate="no">.<a href="#customSplitsCallback">customSplitsCallback</a><span class="type-signature"> : function</span> </h3>
+					<div class="description">
+						<p>Custom split callback when using <code>mode='custom'</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="fade" translate="no">.<a href="#fade">fade</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to fade between cascades or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="frustums" translate="no">.<a href="#frustums">frustums</a><span class="type-signature"> : Array.&lt;<a href="CSMFrustum.html">CSMFrustum</a>></span> </h3>
+					<div class="description">
+						<p>An array of frustums representing the cascades.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightDirection" translate="no">.<a href="#lightDirection">lightDirection</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The light direction.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightFar" translate="no">.<a href="#lightFar">lightFar</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The light far value.<br/>Default is <code>2000</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightIntensity" translate="no">.<a href="#lightIntensity">lightIntensity</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The light intensity.<br/>Default is <code>3</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightMargin" translate="no">.<a href="#lightMargin">lightMargin</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The light margin.<br/>Default is <code>200</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightNear" translate="no">.<a href="#lightNear">lightNear</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The light near value.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lights" translate="no">.<a href="#lights">lights</a><span class="type-signature"> : Array.&lt;<a href="DirectionalLight.html">DirectionalLight</a>></span> </h3>
+					<div class="description">
+						<p>An array of directional lights which cast the shadows for
+the different cascades. There is one directional light for each
+cascade.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mainFrustum" translate="no">.<a href="#mainFrustum">mainFrustum</a><span class="type-signature"> : <a href="CSMFrustum.html">CSMFrustum</a></span> </h3>
+					<div class="description">
+						<p>The main frustum.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxFar" translate="no">.<a href="#maxFar">maxFar</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The maximum far value.<br/>Default is <code>100000</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mode" translate="no">.<a href="#mode">mode</a><span class="type-signature"> : 'practical' | 'uniform' | 'logarithmic' | 'custom'</span> </h3>
+					<div class="description">
+						<p>The frustum split mode.<br/>Default is <code>'practical'</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="parent" translate="no">.<a href="#parent">parent</a><span class="type-signature"> : <a href="Object3D.html">Object3D</a></span> </h3>
+					<div class="description">
+						<p>The parent object, usually the scene.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="shaders" translate="no">.<a href="#shaders">shaders</a><span class="type-signature"> : Map.&lt;<a href="Material.html">Material</a>, Object></span> </h3>
+					<div class="description">
+						<p>A Map holding enhanced material shaders.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="shadowBias" translate="no">.<a href="#shadowBias">shadowBias</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The shadow bias.<br/>Default is <code>0.000001</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="shadowMapSize" translate="no">.<a href="#shadowMapSize">shadowMapSize</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The shadow map size.<br/>Default is <code>2048</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="remove" translate="no">.<a href="#remove">remove</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applications must call this method when they remove the CSM usage from their scene.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setupMaterial" translate="no">.<a href="#setupMaterial">setupMaterial</a><span class="signature">( material : <span class="param-type">Material</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applications must call this method for all materials that should be affected by CSM.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>material</code></td>
+									<td class="description last"><p>The material to setup for CSM support.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates the CSM. This method must be called in your animation loop before
+calling <code>renderer.render()</code>.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="updateFrustums" translate="no">.<a href="#updateFrustums">updateFrustums</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applications must call this method every time they change camera or CSM settings.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Data" translate="no">.<a href="#~Data">Data</a> </h3>
+					<div class="description">
+						<p>Constructor data of <code>CSM</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>camera</code></td>
+			<td class="type">
+<span class="param-type"><a href="Camera.html">Camera</a></span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The scene's camera.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>parent</code></td>
+			<td class="type">
+<span class="param-type"><a href="Object3D.html">Object3D</a></span>
+			</td>
+				<td class="attributes">
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The parent object, usually the scene.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>cascades</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					3
+				</td>
+			<td class="description last"><p>The number of cascades.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>maxFar</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					100000
+				</td>
+			<td class="description last"><p>The maximum far value.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>mode</code></td>
+			<td class="type">
+<span class="param-type">'practical'</span>
+|
+<span class="param-type">'uniform'</span>
+|
+<span class="param-type">'logarithmic'</span>
+|
+<span class="param-type">'custom'</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					'practical'
+				</td>
+			<td class="description last"><p>The frustum split mode.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>customSplitsCallback</code></td>
+			<td class="type">
+<span class="param-type">function</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Custom split callback when using <code>mode='custom'</code>.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>shadowMapSize</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					2048
+				</td>
+			<td class="description last"><p>The shadow map size.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>shadowBias</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					0.000001
+				</td>
+			<td class="description last"><p>The shadow bias.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightDirection</code></td>
+			<td class="type">
+<span class="param-type"><a href="Vector3.html">Vector3</a></span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>The light direction.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightIntensity</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					3
+				</td>
+			<td class="description last"><p>The light intensity.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightNear</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					1
+				</td>
+			<td class="description last"><p>The light near value.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightNear</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					2000
+				</td>
+			<td class="description last"><p>The light far value.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightMargin</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					200
+				</td>
+			<td class="description last"><p>The light margin.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/csm/CSM.js" target="_blank" rel="noopener" translate="no">examples/jsm/csm/CSM.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 174 - 0
docs/pages/CSMFrustum.html

@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSMFrustum - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">CSMFrustum</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Represents the frustum of a CSM instance.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSMFrustum</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSMFrustum } from 'three/addons/csm/CSMFrustum.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSMFrustum" translate="no">new <a href="#CSMFrustum">CSMFrustum</a><span class="signature">( data : <span class="param-type">CSMFrustum~Data</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSM frustum.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>The CSM data.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="vertices" translate="no">.<a href="#vertices">vertices</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>An object representing the vertices of the near and
+far plane in view space.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="zNear" translate="no">.<a href="#zNear">zNear</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The zNear value. This value depends on whether the CSM
+is used with WebGL or WebGPU. Both API use different
+conventions for their projection matrices.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="setFromProjectionMatrix" translate="no">.<a href="#setFromProjectionMatrix">setFromProjectionMatrix</a><span class="signature">( projectionMatrix : <span class="param-type">Matrix4</span>, maxFar : <span class="param-type">number</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups this CSM frustum from the given projection matrix and max far value.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>projectionMatrix</code></td>
+									<td class="description last"><p>The projection matrix, usually of the scene's camera.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maxFar</code></td>
+									<td class="description last"><p>The maximum far value.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> An object representing the vertices of the near and far plane in view space.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="split" translate="no">.<a href="#split">split</a><span class="signature">( breaks : <span class="param-type">Array.&lt;number></span>, target : <span class="param-type">Array.&lt;CSMFrustum></span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Splits the CSM frustum by the given array. The new CSM frustum are pushed into the given
+target array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>breaks</code></td>
+									<td class="description last"><p>An array of numbers in the range <code>[0,1]</code> the defines how the
+CSM frustum should be split up.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target array that holds the new CSM frustums.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="toSpace" translate="no">.<a href="#toSpace">toSpace</a><span class="signature">( cameraMatrix : <span class="param-type">Matrix4</span>, target : <span class="param-type">CSMFrustum</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Transforms the given target CSM frustum into the different coordinate system defined by the
+given camera matrix.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>cameraMatrix</code></td>
+									<td class="description last"><p>The matrix that defines the new coordinate system.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The CSM to convert.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Data" translate="no">.<a href="#~Data">Data</a> </h3>
+					<div class="description">
+						<p>Constructor data of <code>CSMFrustum</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>webGL</code></td>
+			<td class="type">
+<span class="param-type">boolean</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+			<td class="description last"><p>Whether this CSM frustum is used with WebGL or WebGPU.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>projectionMatrix</code></td>
+			<td class="type">
+<span class="param-type"><a href="Matrix4.html">Matrix4</a></span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+			<td class="description last"><p>A projection matrix usually of the scene's camera.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>maxFar</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+			<td class="description last"><p>The maximum far value.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/csm/CSMFrustum.js" target="_blank" rel="noopener" translate="no">examples/jsm/csm/CSMFrustum.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 93 - 0
docs/pages/CSMHelper.html

@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSMHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Group.html">Group</a> → </p>
+	<h1 translate="no">CSMHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A helper for visualizing the cascades of a CSM instance.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSMHelper</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSMHelper } from 'three/addons/csm/CSMHelper.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSMHelper" translate="no">new <a href="#CSMHelper">CSMHelper</a><span class="signature">( csm : <span class="param-type">CSM | CSMShadowNode</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSM helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>csm</code></td>
+									<td class="description last"><p>The CSM instance to visualize.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="csm" translate="no">.<a href="#csm">csm</a><span class="type-signature"> : <a href="CSM.html">CSM</a> | <a href="CSMShadowNode.html">CSMShadowNode</a></span> </h3>
+					<div class="description">
+						<p>The CSM instance to visualize.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="displayFrustum" translate="no">.<a href="#displayFrustum">displayFrustum</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to display the CSM frustum or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="displayPlanes" translate="no">.<a href="#displayPlanes">displayPlanes</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to display the cascade planes or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="displayShadowBounds" translate="no">.<a href="#displayShadowBounds">displayShadowBounds</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to display the shadow bounds or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates the helper. This method should be called in the app's animation loop.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="updateVisibility" translate="no">.<a href="#updateVisibility">updateVisibility</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method must be called if one of the <code>display*</code> properties is changed at runtime.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/csm/CSMHelper.js" target="_blank" rel="noopener" translate="no">examples/jsm/csm/CSMHelper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 232 - 0
docs/pages/CSMShadowNode.html

@@ -0,0 +1,232 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSMShadowNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="ShadowBaseNode.html">ShadowBaseNode</a> → </p>
+	<h1 translate="no">CSMShadowNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>An implementation of Cascade Shadow Maps (CSM).</p>
+<p>This module can only be used with <a href="WebGPURenderer.html">WebGPURenderer</a>. When using <a href="WebGLRenderer.html">WebGLRenderer</a>,
+use <a href="CSM.html">CSM</a> instead.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSMShadowNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSMShadowNode } from 'three/addons/csm/CSMShadowNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSMShadowNode" translate="no">new <a href="#CSMShadowNode">CSMShadowNode</a><span class="signature">( light : <span class="param-type">DirectionalLight</span>, data : <span class="param-type">CSMShadowNode~Data</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSM shadow node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>light</code></td>
+									<td class="description last"><p>The CSM light.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>The CSM data.<br/>Default is <code>{}</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="breaks" translate="no">.<a href="#breaks">breaks</a><span class="type-signature"> : Array.&lt;number></span> </h3>
+					<div class="description">
+						<p>An array of numbers in the range <code>[0,1]</code> the defines how the
+mainCSM frustum should be split up.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="camera" translate="no">.<a href="#camera">camera</a><span class="type-signature"> : <a href="Camera.html">Camera</a></span> </h3>
+					<div class="description">
+						<p>The scene's camera.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="cascades" translate="no">.<a href="#cascades">cascades</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The number of cascades.<br/>Default is <code>3</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="customSplitsCallback" translate="no">.<a href="#customSplitsCallback">customSplitsCallback</a><span class="type-signature"> : function</span> </h3>
+					<div class="description">
+						<p>Custom split callback when using <code>mode='custom'</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="fade" translate="no">.<a href="#fade">fade</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether to fade between cascades or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="frustums" translate="no">.<a href="#frustums">frustums</a><span class="type-signature"> : Array.&lt;<a href="CSMFrustum.html">CSMFrustum</a>></span> </h3>
+					<div class="description">
+						<p>An array of frustums representing the cascades.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lightMargin" translate="no">.<a href="#lightMargin">lightMargin</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The light margin.<br/>Default is <code>200</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="lights" translate="no">.<a href="#lights">lights</a><span class="type-signature"> : Array.&lt;<a href="DirectionalLight.html">DirectionalLight</a>></span> </h3>
+					<div class="description">
+						<p>An array of directional lights which cast the shadows for
+the different cascades. There is one directional light for each
+cascade.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mainFrustum" translate="no">.<a href="#mainFrustum">mainFrustum</a><span class="type-signature"> : <a href="CSMFrustum.html">CSMFrustum</a></span> </h3>
+					<div class="description">
+						<p>The main frustum.<br/>Default is <code>null</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="maxFar" translate="no">.<a href="#maxFar">maxFar</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The maximum far value.<br/>Default is <code>100000</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="mode" translate="no">.<a href="#mode">mode</a><span class="type-signature"> : 'practical' | 'uniform' | 'logarithmic' | 'custom'</span> </h3>
+					<div class="description">
+						<p>The frustum split mode.<br/>Default is <code>'practical'</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="ShadowBaseNode.html#dispose">ShadowBaseNode#dispose</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateFrustums" translate="no">.<a href="#updateFrustums">updateFrustums</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Applications must call this method every time they change camera or CSM settings.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Data" translate="no">.<a href="#~Data">Data</a> </h3>
+					<div class="description">
+						<p>Constructor data of <code>CSMShadowNode</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th>Default</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>cascades</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					3
+				</td>
+			<td class="description last"><p>The number of cascades.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>maxFar</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					100000
+				</td>
+			<td class="description last"><p>The maximum far value.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>mode</code></td>
+			<td class="type">
+<span class="param-type">'practical'</span>
+|
+<span class="param-type">'uniform'</span>
+|
+<span class="param-type">'logarithmic'</span>
+|
+<span class="param-type">'custom'</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					'practical'
+				</td>
+			<td class="description last"><p>The frustum split mode.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>customSplitsCallback</code></td>
+			<td class="type">
+<span class="param-type">function</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+				</td>
+			<td class="description last"><p>Custom split callback when using <code>mode='custom'</code>.</p></td>
+		</tr>
+		<tr>
+				<td class="name"><code>lightMargin</code></td>
+			<td class="type">
+<span class="param-type">number</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+				<td class="default">
+					200
+				</td>
+			<td class="description last"><p>The light margin.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/csm/CSMShadowNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/csm/CSMShadowNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 68 - 0
docs/pages/CSS2DObject.html

@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSS2DObject - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">CSS2DObject</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>The only type of 3D object that is supported by <a href="CSS2DRenderer.html">CSS2DRenderer</a>.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSS2DObject</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSS2DObject } from 'three/addons/renderers/CSS2DRenderer.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSS2DObject" translate="no">new <a href="#CSS2DObject">CSS2DObject</a><span class="signature">( element : <span class="param-type">HTMLElement</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSS2D object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>element</code></td>
+									<td class="description last"><p>The DOM element.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="center" translate="no">.<a href="#center">center</a><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="description">
+						<p>The 3D objects center point.
+<code>( 0, 0 )</code> is the lower left, <code>( 1, 1 )</code> is the top right.<br/>Default is <code>(0.5,0.5)</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="element" translate="no">.<a href="#element">element</a><span class="type-signature"> : HTMLElement</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The DOM element which defines the appearance of this 3D object.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCSS2DObject" translate="no">.<a href="#isCSS2DObject">isCSS2DObject</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS2DRenderer.js" target="_blank" rel="noopener" translate="no">examples/jsm/renderers/CSS2DRenderer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 144 - 0
docs/pages/CSS2DRenderer.html

@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSS2DRenderer - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">CSS2DRenderer</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This renderer is a simplified version of <a href="CSS3DRenderer.html">CSS3DRenderer</a>. The only transformation that is
+supported is translation.</p>
+<p>The renderer is very useful if you want to combine HTML based labels with 3D objects. Here too,
+the respective DOM elements are wrapped into an instance of <a href="CSS2DObject.html">CSS2DObject</a> and added to the
+scene graph. All other types of renderable 3D objects (like meshes or point clouds) are ignored.</p>
+<p><code>CSS2DRenderer</code> only supports 100% browser and display zoom.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSS2DRenderer</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSS2DRenderer } from 'three/addons/renderers/CSS2DRenderer.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSS2DRenderer" translate="no">new <a href="#CSS2DRenderer">CSS2DRenderer</a><span class="signature">( parameters : <span class="param-type">CSS2DRenderer~Parameters</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSS2D renderer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>parameters</code></td>
+									<td class="description last"><p>The parameters.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="domElement" translate="no">.<a href="#domElement">domElement</a><span class="type-signature"> : HTMLElement</span> </h3>
+					<div class="description">
+						<p>The DOM where the renderer appends its child-elements.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="sortObjects" translate="no">.<a href="#sortObjects">sortObjects</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Controls whether the renderer assigns <code>z-index</code> values to CSS2DObject DOM elements.
+If set to <code>true</code>, z-index values are assigned first based on the <code>renderOrder</code>
+and secondly - the distance to the camera. If set to <code>false</code>, no z-index values are assigned.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getSize" translate="no">.<a href="#getSize">getSize</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an object containing the width and height of the renderer.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The size of the renderer.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( scene : <span class="param-type">Object3D</span>, camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Renders the given scene using the given camera.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>A scene or any other type of 3D object.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the renderer to the given width and height.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the renderer.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Parameters" translate="no">.<a href="#~Parameters">Parameters</a> </h3>
+					<div class="description">
+						<p>Constructor parameters of <code>CSS2DRenderer</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>element</code></td>
+			<td class="type">
+<span class="param-type">HTMLElement</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+			<td class="description last"><p>A DOM element where the renderer appends its child-elements.
+If not passed in here, a new div element will be created.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS2DRenderer.js" target="_blank" rel="noopener" translate="no">examples/jsm/renderers/CSS2DRenderer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 61 - 0
docs/pages/CSS3DObject.html

@@ -0,0 +1,61 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSS3DObject - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">CSS3DObject</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>The base 3D object that is supported by <a href="CSS3DRenderer.html">CSS3DRenderer</a>.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSS3DObject</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSS3DObject } from 'three/addons/renderers/CSS3DRenderer.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSS3DObject" translate="no">new <a href="#CSS3DObject">CSS3DObject</a><span class="signature">( element : <span class="param-type">HTMLElement</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSS3D object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>element</code></td>
+									<td class="description last"><p>The DOM element.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="element" translate="no">.<a href="#element">element</a><span class="type-signature"> : HTMLElement</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>The DOM element which defines the appearance of this 3D object.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCSS3DObject" translate="no">.<a href="#isCSS3DObject">isCSS3DObject</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS3DRenderer.js" target="_blank" rel="noopener" translate="no">examples/jsm/renderers/CSS3DRenderer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 142 - 0
docs/pages/CSS3DRenderer.html

@@ -0,0 +1,142 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSS3DRenderer - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">CSS3DRenderer</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This renderer can be used to apply hierarchical 3D transformations to DOM elements
+via the CSS3 <a href="https://www.w3schools.com/cssref/css3_pr_transform.asp">transform</a> property.
+<code>CSS3DRenderer</code> is particularly interesting if you want to apply 3D effects to a website without
+canvas based rendering. It can also be used in order to combine DOM elements with WebGLcontent.</p>
+<p>There are, however, some important limitations:</p>
+<ul>
+<li>It's not possible to use the material system of <em>three.js</em>.</li>
+<li>It's also not possible to use geometries.</li>
+<li>The renderer only supports 100% browser and display zoom.</li>
+</ul>
+<p>So <code>CSS3DRenderer</code> is just focused on ordinary DOM elements. These elements are wrapped into special
+3D objects (<a href="CSS3DObject.html">CSS3DObject</a> or <a href="CSS3DSprite.html">CSS3DSprite</a>) and then added to the scene graph.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSS3DRenderer</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSS3DRenderer } from 'three/addons/renderers/CSS3DRenderer.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSS3DRenderer" translate="no">new <a href="#CSS3DRenderer">CSS3DRenderer</a><span class="signature">( parameters : <span class="param-type">CSS3DRenderer~Parameters</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSS3D renderer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>parameters</code></td>
+									<td class="description last"><p>The parameters.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="domElement" translate="no">.<a href="#domElement">domElement</a><span class="type-signature"> : HTMLElement</span> </h3>
+					<div class="description">
+						<p>The DOM where the renderer appends its child-elements.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getSize" translate="no">.<a href="#getSize">getSize</a><span class="signature">()</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns an object containing the width and height of the renderer.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The size of the renderer.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( scene : <span class="param-type">Object3D</span>, camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Renders the given scene using the given camera.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scene</code></td>
+									<td class="description last"><p>A scene or any other type of 3D object.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resizes the renderer to the given width and height.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the renderer.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Type Definitions</h2>
+				<div class="member">
+					<h3 class="name" id="~Parameters" translate="no">.<a href="#~Parameters">Parameters</a> </h3>
+					<div class="description">
+						<p>Constructor parameters of <code>CSS3DRenderer</code>.</p>
+					</div>
+						<h5 class="subsection-title">Properties:</h5>
+<table class="props">
+	<thead>
+	<tr>
+		<th>Name</th>
+		<th>Type</th>
+		<th>Attributes</th>
+		<th class="last">Description</th>
+	</tr>
+	</thead>
+	<tbody>
+		<tr>
+				<td class="name"><code>element</code></td>
+			<td class="type">
+<span class="param-type">HTMLElement</span>
+			</td>
+				<td class="attributes">
+					&lt;optional><br>
+				</td>
+			<td class="description last"><p>A DOM element where the renderer appends its child-elements.
+If not passed in here, a new div element will be created.</p></td>
+		</tr>
+	</tbody>
+</table>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS3DRenderer.js" target="_blank" rel="noopener" translate="no">examples/jsm/renderers/CSS3DRenderer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 62 - 0
docs/pages/CSS3DSprite.html

@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CSS3DSprite - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="CSS3DObject.html">CSS3DObject</a> → </p>
+	<h1 translate="no">CSS3DSprite</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A specialized version of <a href="CSS3DObject.html">CSS3DObject</a> that represents
+DOM elements as sprites.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CSS3DSprite</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CSS3DSprite } from 'three/addons/renderers/CSS3DRenderer.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CSS3DSprite" translate="no">new <a href="#CSS3DSprite">CSS3DSprite</a><span class="signature">( element : <span class="param-type">HTMLElement</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CSS3D sprite object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>element</code></td>
+									<td class="description last"><p>The DOM element.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isCSS3DSprite" translate="no">.<a href="#isCSS3DSprite">isCSS3DSprite</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="rotation2D" translate="no">.<a href="#rotation2D">rotation2D</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The sprite's rotation in radians.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/renderers/CSS3DRenderer.js" target="_blank" rel="noopener" translate="no">examples/jsm/renderers/CSS3DRenderer.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 102 - 0
docs/pages/Cache.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Cache - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Cache</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A simple caching system, used internally by <a href="FileLoader.html">FileLoader</a>.
+To enable caching across all loaders that use <a href="FileLoader.html">FileLoader</a>, add <code>THREE.Cache.enabled = true.</code> once in your app.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id=".enabled" translate="no">.<a href="#.enabled">enabled</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether caching is enabled or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id=".files" translate="no">.<a href="#.files">files</a><span class="type-signature"> : Object.&lt;string, Object></span> </h3>
+					<div class="description">
+						<p>A dictionary that holds cached files.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".add" translate="no">.<a href="#.add">add</a><span class="signature">( key : <span class="param-type">string</span>, file : <span class="param-type">Object</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds a cache entry with a key to reference the file. If this key already
+holds a file, it is overwritten.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>key</code></td>
+									<td class="description last"><p>The key to reference the cached file.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>file</code></td>
+									<td class="description last"><p>The file to be cached.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id=".clear" translate="no">.<a href="#.clear">clear</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Remove all values from the cache.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id=".get" translate="no">.<a href="#.get">get</a><span class="signature">( key : <span class="param-type">string</span> )</span><span class="type-signature"> : Object | undefined</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Gets the cached value for the given key.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>key</code></td>
+									<td class="description last"><p>The key to reference the cached file.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The cached file. If the key does not exist <code>undefined</code> is returned.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".remove" translate="no">.<a href="#.remove">remove</a><span class="signature">( key : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Removes the cached file associated with the given key.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>key</code></td>
+									<td class="description last"><p>The key to reference the cached file.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/loaders/Cache.js" target="_blank" rel="noopener" translate="no">src/loaders/Cache.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 98 - 0
docs/pages/Camera.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Camera - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → </p>
+	<h1 translate="no">Camera</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Abstract base class for cameras. This class should always be inherited
+when you build a new camera.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Camera" translate="no">new <a href="#Camera">Camera</a><span class="signature">()</span> <span class="type-signature">(abstract) </span></h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new camera.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="coordinateSystem" translate="no">.<a href="#coordinateSystem">coordinateSystem</a><span class="type-signature"> : <a href="global.html#WebGLCoordinateSystem">WebGLCoordinateSystem</a> | <a href="global.html#WebGPUCoordinateSystem">WebGPUCoordinateSystem</a></span> </h3>
+					<div class="description">
+						<p>The coordinate system in which the camera is used.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCamera" translate="no">.<a href="#isCamera">isCamera</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="matrixWorldInverse" translate="no">.<a href="#matrixWorldInverse">matrixWorldInverse</a><span class="type-signature"> : <a href="Matrix4.html">Matrix4</a></span> </h3>
+					<div class="description">
+						<p>The inverse of the camera's world matrix.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="projectionMatrix" translate="no">.<a href="#projectionMatrix">projectionMatrix</a><span class="type-signature"> : <a href="Matrix4.html">Matrix4</a></span> </h3>
+					<div class="description">
+						<p>The camera's projection matrix.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="projectionMatrixInverse" translate="no">.<a href="#projectionMatrixInverse">projectionMatrixInverse</a><span class="type-signature"> : <a href="Matrix4.html">Matrix4</a></span> </h3>
+					<div class="description">
+						<p>The inverse of the camera's projection matrix.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="reversedDepth" translate="no">.<a href="#reversedDepth">reversedDepth</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>The flag that indicates whether the camera uses a reversed depth buffer.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getWorldDirection" translate="no">.<a href="#getWorldDirection">getWorldDirection</a><span class="signature">( target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a vector representing the (&quot;look&quot;) direction of the 3D object in world space.</p>
+<p>This method is overwritten since cameras have a different forward vector compared to other
+3D objects. A camera looks down its local, negative z-axis by default.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector the result is stored to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Object3D.html#getWorldDirection">Object3D#getWorldDirection</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The 3D object's direction in world space.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/cameras/Camera.js" target="_blank" rel="noopener" translate="no">src/cameras/Camera.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 113 - 0
docs/pages/CameraHelper.html

@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CameraHelper - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Line.html">Line</a> → <a href="LineSegments.html">LineSegments</a> → </p>
+	<h1 translate="no">CameraHelper</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This helps with visualizing what a camera contains in its frustum. It
+visualizes the frustum of a camera using a line segments.</p>
+<p>Based on frustum visualization in <a href="https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html">lightgl.js shadowmap example</a>.</p>
+<p><code>CameraHelper</code> must be a child of the scene.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
+const helper = new THREE.CameraHelper( camera );
+scene.add( helper );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CameraHelper" translate="no">new <a href="#CameraHelper">CameraHelper</a><span class="signature">( camera : <span class="param-type">Camera</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new arrow helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>camera</code></td>
+									<td class="description last"><p>The camera to visualize.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="camera" translate="no">.<a href="#camera">camera</a><span class="type-signature"> : <a href="Camera.html">Camera</a></span> </h3>
+					<div class="description">
+						<p>The camera being visualized.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="pointMap" translate="no">.<a href="#pointMap">pointMap</a><span class="type-signature"> : Object.&lt;string, Array.&lt;number>></span> </h3>
+					<div class="description">
+						<p>This contains the points used to visualize the camera.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="setColors" translate="no">.<a href="#setColors">setColors</a><span class="signature">( frustum : <span class="param-type">Color</span>, cone : <span class="param-type">Color</span>, up : <span class="param-type">Color</span>, target : <span class="param-type">Color</span>, cross : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="CameraHelper.html">CameraHelper</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the colors of the helper.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frustum</code></td>
+									<td class="description last"><p>The frustum line color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>cone</code></td>
+									<td class="description last"><p>The cone line color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>up</code></td>
+									<td class="description last"><p>The up line color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target line color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>cross</code></td>
+									<td class="description last"><p>The cross line color.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this helper.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="update" translate="no">.<a href="#update">update</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Updates the helper based on the projection matrix of the camera.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/helpers/CameraHelper.js" target="_blank" rel="noopener" translate="no">src/helpers/CameraHelper.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 302 - 0
docs/pages/CanvasTarget.html

@@ -0,0 +1,302 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CanvasTarget - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → </p>
+	<h1 translate="no">CanvasTarget</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>CanvasTarget is a class that represents the final output destination of the renderer.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CanvasTarget" translate="no">new <a href="#CanvasTarget">CanvasTarget</a><span class="signature">( domElement : <span class="param-type">HTMLCanvasElement | OffscreenCanvas</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new CanvasTarget.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>domElement</code></td>
+									<td class="description last"><p>The canvas element to render to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="colorTexture" translate="no">.<a href="#colorTexture">colorTexture</a><span class="type-signature"> : <a href="FramebufferTexture.html">FramebufferTexture</a></span> </h3>
+					<div class="description">
+						<p>The color texture of the default framebuffer.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="depthTexture" translate="no">.<a href="#depthTexture">depthTexture</a><span class="type-signature"> : <a href="DepthTexture.html">DepthTexture</a></span> </h3>
+					<div class="description">
+						<p>The depth texture of the default framebuffer.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="domElement" translate="no">.<a href="#domElement">domElement</a><span class="type-signature"> : HTMLCanvasElement | OffscreenCanvas</span> </h3>
+					<div class="description">
+						<p>A reference to the canvas element the renderer is drawing to.
+This value of this property will automatically be created by
+the renderer.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="dispose" translate="no">.<a href="#dispose">dispose</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Frees the GPU-related resources allocated by this instance. Call this
+method whenever this instance is no longer used in your app.</p>
+						</div>
+						<h5>Fires:</h5>
+						<ul>
+							<li>RenderTarget#event:dispose</li>
+						</ul>
+					</div>
+					<h3 class="name name-method" id="getDrawingBufferSize" translate="no">.<a href="#getDrawingBufferSize">getDrawingBufferSize</a><span class="signature">( target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the drawing buffer size in physical pixels. This method honors the pixel ratio.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The method writes the result in this target object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The drawing buffer size.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getPixelRatio" translate="no">.<a href="#getPixelRatio">getPixelRatio</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the pixel ratio.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The pixel ratio.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getScissor" translate="no">.<a href="#getScissor">getScissor</a><span class="signature">( target : <span class="param-type">Vector4</span> )</span><span class="type-signature"> : <a href="Vector4.html">Vector4</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the scissor rectangle.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The method writes the result in this target object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The scissor rectangle.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getScissorTest" translate="no">.<a href="#getScissorTest">getScissorTest</a><span class="signature">()</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the scissor test value.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the scissor test should be enabled or not.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getSize" translate="no">.<a href="#getSize">getSize</a><span class="signature">( target : <span class="param-type">Vector2</span> )</span><span class="type-signature"> : <a href="Vector2.html">Vector2</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the renderer's size in logical pixels. This method does not honor the pixel ratio.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The method writes the result in this target object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The renderer's size in logical pixels.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getViewport" translate="no">.<a href="#getViewport">getViewport</a><span class="signature">( target : <span class="param-type">Vector4</span> )</span><span class="type-signature"> : <a href="Vector4.html">Vector4</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the viewport definition.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The method writes the result in this target object.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The viewport definition.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setDrawingBufferSize" translate="no">.<a href="#setDrawingBufferSize">setDrawingBufferSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, pixelRatio : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method allows to define the drawing buffer size by specifying
+width, height and pixel ratio all at once. The size of the drawing
+buffer is computed with this formula:</p>
+<pre><code class="language-js">size.x = width * pixelRatio;
+size.y = height * pixelRatio;
+</code></pre>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>pixelRatio</code></td>
+									<td class="description last"><p>The pixel ratio.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setPixelRatio" translate="no">.<a href="#setPixelRatio">setPixelRatio</a><span class="signature">( value : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given pixel ratio and resizes the canvas if necessary.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>value</code></td>
+									<td class="description last"><p>The pixel ratio.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setScissor" translate="no">.<a href="#setScissor">setScissor</a><span class="signature">( x : <span class="param-type">number | Vector4</span>, y : <span class="param-type">number</span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the scissor rectangle.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The horizontal coordinate for the lower left corner of the box in logical pixel unit.
+Instead of passing four arguments, the method also works with a single four-dimensional vector.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The vertical coordinate for the lower left corner of the box in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the scissor box in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the scissor box in logical pixel unit.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setScissorTest" translate="no">.<a href="#setScissorTest">setScissorTest</a><span class="signature">( boolean : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the scissor test.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>boolean</code></td>
+									<td class="description last"><p>Whether the scissor test should be enabled or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setSize" translate="no">.<a href="#setSize">setSize</a><span class="signature">( width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, updateStyle : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the size of the renderer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height in logical pixels.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>updateStyle</code></td>
+									<td class="description last"><p>Whether to update the <code>style</code> attribute of the canvas or not.<br/>Default is <code>true</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="setViewport" translate="no">.<a href="#setViewport">setViewport</a><span class="signature">( x : <span class="param-type">number | Vector4</span>, y : <span class="param-type">number</span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, minDepth : <span class="param-type">number</span>, maxDepth : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Defines the viewport.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>x</code></td>
+									<td class="description last"><p>The horizontal coordinate for the lower left corner of the viewport origin in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>y</code></td>
+									<td class="description last"><p>The vertical coordinate for the lower left corner of the viewport origin  in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the viewport in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the viewport in logical pixel unit.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>minDepth</code></td>
+									<td class="description last"><p>The minimum depth value of the viewport. WebGPU only.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maxDepth</code></td>
+									<td class="description last"><p>The maximum depth value of the viewport. WebGPU only.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/renderers/common/CanvasTarget.js" target="_blank" rel="noopener" translate="no">src/renderers/common/CanvasTarget.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 86 - 0
docs/pages/CanvasTexture.html

@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CanvasTexture - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Texture.html">Texture</a> → </p>
+	<h1 translate="no">CanvasTexture</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Creates a texture from a canvas element.</p>
+<p>This is almost the same as the base texture class, except that it sets <a href="Texture.html#needsUpdate">Texture#needsUpdate</a>
+to <code>true</code> immediately since a canvas can directly be used for rendering.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CanvasTexture" translate="no">new <a href="#CanvasTexture">CanvasTexture</a><span class="signature">( canvas : <span class="param-type">HTMLCanvasElement</span>, mapping : <span class="param-type">number</span>, wrapS : <span class="param-type">number</span>, wrapT : <span class="param-type">number</span>, magFilter : <span class="param-type">number</span>, minFilter : <span class="param-type">number</span>, format : <span class="param-type">number</span>, type : <span class="param-type">number</span>, anisotropy : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new texture.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>canvas</code></td>
+									<td class="description last"><p>The HTML canvas element.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>mapping</code></td>
+									<td class="description last"><p>The texture mapping.<br/>Default is <code>Texture.DEFAULT_MAPPING</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>wrapS</code></td>
+									<td class="description last"><p>The wrapS value.<br/>Default is <code>ClampToEdgeWrapping</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>wrapT</code></td>
+									<td class="description last"><p>The wrapT value.<br/>Default is <code>ClampToEdgeWrapping</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>magFilter</code></td>
+									<td class="description last"><p>The mag filter value.<br/>Default is <code>LinearFilter</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>minFilter</code></td>
+									<td class="description last"><p>The min filter value.<br/>Default is <code>LinearMipmapLinearFilter</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>format</code></td>
+									<td class="description last"><p>The texture format.<br/>Default is <code>RGBAFormat</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>type</code></td>
+									<td class="description last"><p>The texture type.<br/>Default is <code>UnsignedByteType</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>anisotropy</code></td>
+									<td class="description last"><p>The anisotropy value.<br/>Default is <code>Texture.DEFAULT_ANISOTROPY</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isCanvasTexture" translate="no">.<a href="#isCanvasTexture">isCanvasTexture</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/textures/CanvasTexture.js" target="_blank" rel="noopener" translate="no">src/textures/CanvasTexture.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 180 - 0
docs/pages/Capsule.html

@@ -0,0 +1,180 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Capsule - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Capsule</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A capsule is essentially a cylinder with hemispherical caps at both ends.
+It can be thought of as a swept sphere, where a sphere is moved along a line segment.</p>
+<p>Capsules are often used as bounding volumes (next to AABBs and bounding spheres).</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">Capsule</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { Capsule } from 'three/addons/math/Capsule.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Capsule" translate="no">new <a href="#Capsule">Capsule</a><span class="signature">( start : <span class="param-type">Vector3</span>, end : <span class="param-type">Vector3</span>, radius : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new capsule.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>start</code></td>
+									<td class="description last"><p>The start vector.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>end</code></td>
+									<td class="description last"><p>The end vector.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>radius</code></td>
+									<td class="description last"><p>The capsule's radius.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="end" translate="no">.<a href="#end">end</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The end vector.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="radius" translate="no">.<a href="#radius">radius</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The capsule's radius.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="start" translate="no">.<a href="#start">start</a><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="description">
+						<p>The start vector.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="Capsule.html">Capsule</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new capsule with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( capsule : <span class="param-type">Capsule</span> )</span><span class="type-signature"> : <a href="Capsule.html">Capsule</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given capsule to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>capsule</code></td>
+									<td class="description last"><p>The capsule to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this capsule.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getCenter" translate="no">.<a href="#getCenter">getCenter</a><span class="signature">( target : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the center point of this capsule.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target vector that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The center point.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="intersectsBox" translate="no">.<a href="#intersectsBox">intersectsBox</a><span class="signature">( box : <span class="param-type">Box3</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if the given bounding box intersects with this capsule.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>box</code></td>
+									<td class="description last"><p>The bounding box to test.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether the given bounding box intersects with this capsule.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="set" translate="no">.<a href="#set">set</a><span class="signature">( start : <span class="param-type">Vector3</span>, end : <span class="param-type">Vector3</span>, radius : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Capsule.html">Capsule</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the capsule components to the given values.
+Please note that this method only copies the values from the given objects.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>start</code></td>
+									<td class="description last"><p>The start vector.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>end</code></td>
+									<td class="description last"><p>The end vector</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>radius</code></td>
+									<td class="description last"><p>The capsule's radius.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this capsule.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="translate" translate="no">.<a href="#translate">translate</a><span class="signature">( v : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Capsule.html">Capsule</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given offset to this capsule, effectively moving it in 3D space.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>v</code></td>
+									<td class="description last"><p>The offset that should be used to translate the capsule.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this capsule.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/math/Capsule.js" target="_blank" rel="noopener" translate="no">examples/jsm/math/Capsule.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 96 - 0
docs/pages/CapsuleGeometry.html

@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CapsuleGeometry - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="BufferGeometry.html">BufferGeometry</a> → </p>
+	<h1 translate="no">CapsuleGeometry</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A geometry class for representing a capsule.</p></div>
+				<iframe id="viewer" src="../scenes/geometry-browser.html#CapsuleGeometry"></iframe>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.CapsuleGeometry( 1, 1, 4, 8, 1 );
+const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
+const capsule = new THREE.Mesh( geometry, material );
+scene.add( capsule );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CapsuleGeometry" translate="no">new <a href="#CapsuleGeometry">CapsuleGeometry</a><span class="signature">( radius : <span class="param-type">number</span>, height : <span class="param-type">number</span>, capSegments : <span class="param-type">number</span>, radialSegments : <span class="param-type">number</span>, heightSegments : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new capsule geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>radius</code></td>
+									<td class="description last"><p>Radius of the capsule.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>Height of the middle section.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>capSegments</code></td>
+									<td class="description last"><p>Number of curve segments used to build each cap.<br/>Default is <code>4</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>radialSegments</code></td>
+									<td class="description last"><p>Number of segmented faces around the circumference of the capsule. Must be an integer &gt;= 3.<br/>Default is <code>8</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>heightSegments</code></td>
+									<td class="description last"><p>Number of rows of faces along the height of the middle section. Must be an integer &gt;= 1.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="parameters" translate="no">.<a href="#parameters">parameters</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>Holds the constructor parameters that have been
+used to generate the geometry. Any modification
+after instantiation does not change the geometry.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".fromJSON" translate="no">.<a href="#.fromJSON">fromJSON</a><span class="signature">( data : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="CapsuleGeometry.html">CapsuleGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Factory method for creating an instance of this class from the given
+JSON object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>A JSON object representing the serialized geometry.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A new instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/geometries/CapsuleGeometry.js" target="_blank" rel="noopener" translate="no">src/geometries/CapsuleGeometry.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 128 - 0
docs/pages/CatmullRomCurve3.html

@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CatmullRomCurve3 - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Curve.html">Curve</a> → </p>
+	<h1 translate="no">CatmullRomCurve3</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A curve representing a Catmull-Rom spline.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">//Create a closed wavey loop
+const curve = new THREE.CatmullRomCurve3( [
+	new THREE.Vector3( -10, 0, 10 ),
+	new THREE.Vector3( -5, 5, 5 ),
+	new THREE.Vector3( 0, 0, 0 ),
+	new THREE.Vector3( 5, -5, 5 ),
+	new THREE.Vector3( 10, 0, 10 )
+] );
+const points = curve.getPoints( 50 );
+const geometry = new THREE.BufferGeometry().setFromPoints( points );
+const material = new THREE.LineBasicMaterial( { color: 0xff0000 } );
+// Create the final object to add to the scene
+const curveObject = new THREE.Line( geometry, material );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CatmullRomCurve3" translate="no">new <a href="#CatmullRomCurve3">CatmullRomCurve3</a><span class="signature">( points : <span class="param-type">Array.&lt;Vector3></span>, closed : <span class="param-type">boolean</span>, curveType : <span class="param-type">'centripetal' | 'chordal' | 'catmullrom'</span>, tension : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new Catmull-Rom curve.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>points</code></td>
+									<td class="description last"><p>An array of 3D points defining the curve.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>closed</code></td>
+									<td class="description last"><p>Whether the curve is closed or not.<br/>Default is <code>false</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>curveType</code></td>
+									<td class="description last"><p>The curve type.<br/>Default is <code>'centripetal'</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>tension</code></td>
+									<td class="description last"><p>Tension of the curve.<br/>Default is <code>0.5</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="closed" translate="no">.<a href="#closed">closed</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether the curve is closed or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="curveType" translate="no">.<a href="#curveType">curveType</a><span class="type-signature"> : 'centripetal' | 'chordal' | 'catmullrom'</span> </h3>
+					<div class="description">
+						<p>The curve type.<br/>Default is <code>'centripetal'</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCatmullRomCurve3" translate="no">.<a href="#isCatmullRomCurve3">isCatmullRomCurve3</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="points" translate="no">.<a href="#points">points</a><span class="type-signature"> : Array.&lt;<a href="Vector3.html">Vector3</a>></span> </h3>
+					<div class="description">
+						<p>An array of 3D points defining the curve.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="tension" translate="no">.<a href="#tension">tension</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Tension of the curve.<br/>Default is <code>0.5</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getPoint" translate="no">.<a href="#getPoint">getPoint</a><span class="signature">( t : <span class="param-type">number</span>, optionalTarget : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a point on the curve.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>t</code></td>
+									<td class="description last"><p>A interpolation factor representing a position on the curve. Must be in the range <code>[0,1]</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>optionalTarget</code></td>
+									<td class="description last"><p>The optional target vector the result is written to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Curve.html#getPoint">Curve#getPoint</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The position on the curve.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/extras/curves/CatmullRomCurve3.js" target="_blank" rel="noopener" translate="no">src/extras/curves/CatmullRomCurve3.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 135 - 0
docs/pages/ChromaticAberrationNode.html

@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ChromaticAberrationNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">ChromaticAberrationNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Post processing node for applying chromatic aberration effect.
+This effect simulates the color fringing that occurs in real camera lenses
+by separating and offsetting the red, green, and blue channels.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ChromaticAberrationNode</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { chromaticAberration } from 'three/addons/tsl/display/ChromaticAberrationNode.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ChromaticAberrationNode" translate="no">new <a href="#ChromaticAberrationNode">ChromaticAberrationNode</a><span class="signature">( textureNode : <span class="param-type">TextureNode</span>, strengthNode : <span class="param-type">Node</span>, centerNode : <span class="param-type">Node</span>, scaleNode : <span class="param-type">Node</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new chromatic aberration node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>textureNode</code></td>
+									<td class="description last"><p>The texture node that represents the input of the effect.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>strengthNode</code></td>
+									<td class="description last"><p>The strength of the chromatic aberration effect as a node.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>centerNode</code></td>
+									<td class="description last"><p>The center point of the effect as a node.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>scaleNode</code></td>
+									<td class="description last"><p>The scale factor for stepped scaling from center as a node.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="centerNode" translate="no">.<a href="#centerNode">centerNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>A node holding the center point of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="scaleNode" translate="no">.<a href="#scaleNode">scaleNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>A node holding the scale factor for stepped scaling.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="strengthNode" translate="no">.<a href="#strengthNode">strengthNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>A node holding the strength of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="textureNode" translate="no">.<a href="#textureNode">textureNode</a><span class="type-signature"> : <a href="global.html#texture">texture</a></span> </h3>
+					<div class="description">
+						<p>The texture node that represents the input of the effect.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="updateBeforeType" translate="no">.<a href="#updateBeforeType">updateBeforeType</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The <code>updateBeforeType</code> is set to <code>NodeUpdateType.FRAME</code> since the node updates
+its internal uniforms once per frame in <code>updateBefore()</code>.<br/>Default is <code>'frame'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBeforeType">TempNode#updateBeforeType</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : ShaderCallNodeInternal</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to setup the effect's TSL code.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#setup">TempNode#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> </dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="updateBefore" translate="no">.<a href="#updateBefore">updateBefore</a><span class="signature">( frame : <span class="param-type">NodeFrame</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method is used to update the effect's uniforms once per frame.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>frame</code></td>
+									<td class="description last"><p>The current node frame.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="TempNode.html#updateBefore">TempNode#updateBefore</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/tsl/display/ChromaticAberrationNode.js" target="_blank" rel="noopener" translate="no">examples/jsm/tsl/display/ChromaticAberrationNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 80 - 0
docs/pages/CinquefoilKnot.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CinquefoilKnot - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Curve.html">Curve</a> → </p>
+	<h1 translate="no">CinquefoilKnot</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A Cinquefoil Knot.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">CinquefoilKnot</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { CinquefoilKnot } from 'three/addons/curves/CurveExtras.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CinquefoilKnot" translate="no">new <a href="#CinquefoilKnot">CinquefoilKnot</a><span class="signature">( scale : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new Cinquefoil Knot.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scale</code></td>
+									<td class="description last"><p>The curve's scale.<br/>Default is <code>10</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="scale" translate="no">.<a href="#scale">scale</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The curve's scale.<br/>Default is <code>10</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getPoint" translate="no">.<a href="#getPoint">getPoint</a><span class="signature">( t : <span class="param-type">number</span>, optionalTarget : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Vector3.html">Vector3</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method returns a vector in 3D space for the given interpolation factor.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>t</code></td>
+									<td class="description last"><p>A interpolation factor representing a position on the curve. Must be in the range <code>[0,1]</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>optionalTarget</code></td>
+									<td class="description last"><p>The optional target vector the result is written to.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Curve.html#getPoint">Curve#getPoint</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The position on the curve.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/curves/CurveExtras.js" target="_blank" rel="noopener" translate="no">examples/jsm/curves/CurveExtras.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 98 - 0
docs/pages/CircleGeometry.html

@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CircleGeometry - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="BufferGeometry.html">BufferGeometry</a> → </p>
+	<h1 translate="no">CircleGeometry</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A simple shape of Euclidean geometry. It is constructed from a
+number of triangular segments that are oriented around a central point and
+extend as far out as a given radius. It is built counter-clockwise from a
+start angle and a given central angle. It can also be used to create
+regular polygons, where the number of segments determines the number of
+sides.</p></div>
+				<iframe id="viewer" src="../scenes/geometry-browser.html#CircleGeometry"></iframe>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const geometry = new THREE.CircleGeometry( 5, 32 );
+const material = new THREE.MeshBasicMaterial( { color: 0xffff00 } );
+const circle = new THREE.Mesh( geometry, material );
+scene.add( circle )
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CircleGeometry" translate="no">new <a href="#CircleGeometry">CircleGeometry</a><span class="signature">( radius : <span class="param-type">number</span>, segments : <span class="param-type">number</span>, thetaStart : <span class="param-type">number</span>, thetaLength : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new circle geometry.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>radius</code></td>
+									<td class="description last"><p>Radius of the circle.<br/>Default is <code>1</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>segments</code></td>
+									<td class="description last"><p>Number of segments (triangles), minimum = <code>3</code>.<br/>Default is <code>32</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>thetaStart</code></td>
+									<td class="description last"><p>Start angle for first segment in radians.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>thetaLength</code></td>
+									<td class="description last"><p>The central angle, often called theta,
+of the circular sector in radians. The default value results in a complete circle.<br/>Default is <code>Math.PI*2</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="parameters" translate="no">.<a href="#parameters">parameters</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>Holds the constructor parameters that have been
+used to generate the geometry. Any modification
+after instantiation does not change the geometry.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".fromJSON" translate="no">.<a href="#.fromJSON">fromJSON</a><span class="signature">( data : <span class="param-type">Object</span> )</span><span class="type-signature"> : <a href="CircleGeometry.html">CircleGeometry</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Factory method for creating an instance of this class from the given
+JSON object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>data</code></td>
+									<td class="description last"><p>A JSON object representing the serialized geometry.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A new instance.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/geometries/CircleGeometry.js" target="_blank" rel="noopener" translate="no">src/geometries/CircleGeometry.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 87 - 0
docs/pages/ClearMaskPass.html

@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ClearMaskPass - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Pass.html">Pass</a> → </p>
+	<h1 translate="no">ClearMaskPass</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This pass can be used to clear a mask previously defined with <a href="MaskPass.html">MaskPass</a>.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const clearPass = new ClearMaskPass();
+composer.addPass( clearPass );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ClearMaskPass" translate="no">new <a href="#ClearMaskPass">ClearMaskPass</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new clear mask pass.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="needsSwap" translate="no">.<a href="#needsSwap">needsSwap</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Overwritten to disable the swap.<br/>Default is <code>false</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#needsSwap">Pass#needsSwap</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, writeBuffer : <span class="param-type">WebGLRenderTarget</span>, readBuffer : <span class="param-type">WebGLRenderTarget</span>, deltaTime : <span class="param-type">number</span>, maskActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs the clear of the currently defined mask.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>writeBuffer</code></td>
+									<td class="description last"><p>The write buffer. This buffer is intended as the rendering
+destination for the pass.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>readBuffer</code></td>
+									<td class="description last"><p>The read buffer. The pass can access the result from the
+previous pass from this buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maskActive</code></td>
+									<td class="description last"><p>Whether masking is active or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#render">Pass#render</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/MaskPass.js" target="_blank" rel="noopener" translate="no">examples/jsm/postprocessing/MaskPass.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 115 - 0
docs/pages/ClearPass.html

@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ClearPass - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Pass.html">Pass</a> → </p>
+	<h1 translate="no">ClearPass</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class can be used to force a clear operation for the current read or
+default framebuffer (when rendering to screen).</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const clearPass = new ClearPass();
+composer.addPass( clearPass );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ClearPass</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { ClearPass } from 'three/addons/postprocessing/ClearPass.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ClearPass" translate="no">new <a href="#ClearPass">ClearPass</a><span class="signature">( clearColor : <span class="param-type">number | Color | string</span>, clearAlpha : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new clear pass.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>clearColor</code></td>
+									<td class="description last"><p>The clear color.<br/>Default is <code>0x000000</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>clearAlpha</code></td>
+									<td class="description last"><p>The clear alpha.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="clearAlpha" translate="no">.<a href="#clearAlpha">clearAlpha</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The clear alpha.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="clearColor" translate="no">.<a href="#clearColor">clearColor</a><span class="type-signature"> : number | <a href="Color.html">Color</a> | string</span> </h3>
+					<div class="description">
+						<p>The clear color.<br/>Default is <code>0x000000</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="needsSwap" translate="no">.<a href="#needsSwap">needsSwap</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Overwritten to disable the swap.<br/>Default is <code>false</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#needsSwap">Pass#needsSwap</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="render" translate="no">.<a href="#render">render</a><span class="signature">( renderer : <span class="param-type">WebGLRenderer</span>, writeBuffer : <span class="param-type">WebGLRenderTarget</span>, readBuffer : <span class="param-type">WebGLRenderTarget</span>, deltaTime : <span class="param-type">number</span>, maskActive : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Performs the clear operation. This affects the current read or the default framebuffer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>renderer</code></td>
+									<td class="description last"><p>The renderer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>writeBuffer</code></td>
+									<td class="description last"><p>The write buffer. This buffer is intended as the rendering
+destination for the pass.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>readBuffer</code></td>
+									<td class="description last"><p>The read buffer. The pass can access the result from the
+previous pass from this buffer.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>deltaTime</code></td>
+									<td class="description last"><p>The delta time in seconds.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>maskActive</code></td>
+									<td class="description last"><p>Whether masking is active or not.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Pass.html#render">Pass#render</a></dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/ClearPass.js" target="_blank" rel="noopener" translate="no">examples/jsm/postprocessing/ClearPass.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 74 - 0
docs/pages/ClippingGroup.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ClippingGroup - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Object3D.html">Object3D</a> → <a href="Group.html">Group</a> → </p>
+	<h1 translate="no">ClippingGroup</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>In earlier three.js versions, clipping was defined globally
+on the renderer or on material level. This special version of
+<code>THREE.Group</code> allows to encode the clipping state into the scene
+graph. Meaning if you create an instance of this group, all
+descendant 3D objects will be affected by the respective clipping
+planes.</p>
+<p>Note: <code>ClippingGroup</code> can only be used with <code>WebGPURenderer</code>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ClippingGroup" translate="no">new <a href="#ClippingGroup">ClippingGroup</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new clipping group.</p>
+						</div>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="clipIntersection" translate="no">.<a href="#clipIntersection">clipIntersection</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether the intersection of the clipping planes is used to clip objects, rather than their union.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="clipShadows" translate="no">.<a href="#clipShadows">clipShadows</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether shadows should be clipped or not.<br/>Default is <code>false</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="clippingPlanes" translate="no">.<a href="#clippingPlanes">clippingPlanes</a><span class="type-signature"> : Array.&lt;<a href="Plane.html">Plane</a>></span> </h3>
+					<div class="description">
+						<p>An array with clipping planes.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="enabled" translate="no">.<a href="#enabled">enabled</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether clipping should be enabled or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isClippingGroup" translate="no">.<a href="#isClippingGroup">isClippingGroup</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/objects/ClippingGroup.js" target="_blank" rel="noopener" translate="no">src/objects/ClippingGroup.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 140 - 0
docs/pages/ClippingNode.html

@@ -0,0 +1,140 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ClippingNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">ClippingNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This node is used in <a href="NodeMaterial.html">NodeMaterial</a> to setup the clipping
+which can happen hardware-accelerated (if supported) and optionally
+use alpha-to-coverage for anti-aliasing clipped edges.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ClippingNode" translate="no">new <a href="#ClippingNode">ClippingNode</a><span class="signature">( scope : <span class="param-type">'default' | 'hardware' | 'alphaToCoverage'</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new clipping node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scope</code></td>
+									<td class="description last"><p>The node's scope. Similar to other nodes,
+the selected scope influences the behavior of the node and what type of code is generated.<br/>Default is <code>'default'</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="scope" translate="no">.<a href="#scope">scope</a><span class="type-signature"> : 'default' | 'hardware' | 'alphaToCoverage'</span> </h3>
+					<div class="description">
+						<p>The node's scope. Similar to other nodes, the selected scope influences
+the behavior of the node and what type of code is generated.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="setup" translate="no">.<a href="#setup">setup</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups the node depending on the selected scope.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#setup">Node#setup</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The result node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupAlphaToCoverage" translate="no">.<a href="#setupAlphaToCoverage">setupAlphaToCoverage</a><span class="signature">( intersectionPlanes : <span class="param-type">Array.&lt;Vector4></span>, unionPlanes : <span class="param-type">Array.&lt;Vector4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups alpha to coverage.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>intersectionPlanes</code></td>
+									<td class="description last"><p>The intersection planes.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>unionPlanes</code></td>
+									<td class="description last"><p>The union planes.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The result node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupDefault" translate="no">.<a href="#setupDefault">setupDefault</a><span class="signature">( intersectionPlanes : <span class="param-type">Array.&lt;Vector4></span>, unionPlanes : <span class="param-type">Array.&lt;Vector4></span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups the default clipping.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>intersectionPlanes</code></td>
+									<td class="description last"><p>The intersection planes.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>unionPlanes</code></td>
+									<td class="description last"><p>The union planes.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The result node.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setupHardwareClipping" translate="no">.<a href="#setupHardwareClipping">setupHardwareClipping</a><span class="signature">( unionPlanes : <span class="param-type">Array.&lt;Vector4></span>, builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Setups hardware clipping.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>unionPlanes</code></td>
+									<td class="description last"><p>The union planes.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The result node.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/accessors/ClippingNode.js" target="_blank" rel="noopener" translate="no">src/nodes/accessors/ClippingNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 110 - 0
docs/pages/Clock.html

@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Clock - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Clock</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Class for keeping track of time.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Clock" translate="no">new <a href="#Clock">Clock</a><span class="signature">( autoStart : <span class="param-type">boolean</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new clock.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>autoStart</code></td>
+									<td class="description last"><p>Whether to automatically start the clock when
+<code>getDelta()</code> is called for the first time.<br/>Default is <code>true</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="autoStart" translate="no">.<a href="#autoStart">autoStart</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>If set to <code>true</code>, the clock starts automatically when <code>getDelta()</code> is called
+for the first time.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="elapsedTime" translate="no">.<a href="#elapsedTime">elapsedTime</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Keeps track of the total time that the clock has been running.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="oldTime" translate="no">.<a href="#oldTime">oldTime</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Holds the time at which the clock's <code>start()</code>, <code>getElapsedTime()</code> or
+<code>getDelta()</code> methods were last called.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="running" translate="no">.<a href="#running">running</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>Whether the clock is running or not.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="startTime" translate="no">.<a href="#startTime">startTime</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>Holds the time at which the clock's <code>start()</code> method was last called.<br/>Default is <code>0</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getDelta" translate="no">.<a href="#getDelta">getDelta</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the delta time in seconds.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The delta time.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getElapsedTime" translate="no">.<a href="#getElapsedTime">getElapsedTime</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the elapsed time in seconds.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The elapsed time.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="start" translate="no">.<a href="#start">start</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts the clock. When <code>autoStart</code> is set to <code>true</code>, the method is automatically
+called by the class.</p>
+						</div>
+					</div>
+					<h3 class="name name-method" id="stop" translate="no">.<a href="#stop">stop</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Stops the clock.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/core/Clock.js" target="_blank" rel="noopener" translate="no">src/core/Clock.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 124 - 0
docs/pages/CodeNode.html

@@ -0,0 +1,124 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CodeNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → </p>
+	<h1 translate="no">CodeNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This class represents native code sections. It is the base
+class for modules like <a href="FunctionNode.html">FunctionNode</a> which allows to implement
+functions with native shader languages.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CodeNode" translate="no">new <a href="#CodeNode">CodeNode</a><span class="signature">( code : <span class="param-type">string</span>, includes : <span class="param-type">Array.&lt;Node></span>, language : <span class="param-type">'js' | 'wgsl' | 'glsl'</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new code node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>code</code></td>
+									<td class="description last"><p>The native code.<br/>Default is <code>''</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>includes</code></td>
+									<td class="description last"><p>An array of includes.<br/>Default is <code>[]</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>language</code></td>
+									<td class="description last"><p>The used language.<br/>Default is <code>''</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="code" translate="no">.<a href="#code">code</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The native code.<br/>Default is <code>''</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="global" translate="no">.<a href="#global">global</a><span class="type-signature"> : boolean</span> </h3>
+					<div class="description">
+						<p>This flag is used for global cache.<br/>Default is <code>true</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Node.html#global">Node#global</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="includes" translate="no">.<a href="#includes">includes</a><span class="type-signature"> : Array.&lt;<a href="Node.html">Node</a>></span> </h3>
+					<div class="description">
+						<p>An array of includes<br/>Default is <code>[]</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCodeNode" translate="no">.<a href="#isCodeNode">isCodeNode</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="language" translate="no">.<a href="#language">language</a><span class="type-signature"> : 'js' | 'wgsl' | 'glsl'</span> </h3>
+					<div class="description">
+						<p>The used language.<br/>Default is <code>''</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="getIncludes" translate="no">.<a href="#getIncludes">getIncludes</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span> )</span><span class="type-signature"> : Array.&lt;<a href="Node.html">Node</a>></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the includes of this code node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The includes.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setIncludes" translate="no">.<a href="#setIncludes">setIncludes</a><span class="signature">( includes : <span class="param-type">Array.&lt;Node></span> )</span><span class="type-signature"> : <a href="CodeNode.html">CodeNode</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the includes of this code node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>includes</code></td>
+									<td class="description last"><p>The includes to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this node.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/code/CodeNode.js" target="_blank" rel="noopener" translate="no">src/nodes/code/CodeNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 102 - 0
docs/pages/ColladaLoader.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ColladaLoader - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="Loader.html">Loader</a> → </p>
+	<h1 translate="no">ColladaLoader</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A loader for the Collada format.</p>
+<p>The Collada format is very complex so this loader only supports a subset of what
+is defined in the <a href="https://www.khronos.org/files/collada_spec_1_5.pdf">official specification</a>.</p>
+<p>Assets with a Z-UP coordinate system are transformed it into Y-UP by a simple rotation.
+The vertex data are not converted.</p></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">const loader = new ColladaLoader();
+const result = await loader.loadAsync( './models/collada/elf/elf.dae' );
+scene.add( result.scene );
+</code></pre></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ColladaLoader</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { ColladaLoader } from 'three/addons/loaders/ColladaLoader.js';</code></pre>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ColladaLoader" translate="no">new <a href="#ColladaLoader">ColladaLoader</a><span class="signature">()</span> </h3>
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="load" translate="no">.<a href="#load">load</a><span class="signature">( url : <span class="param-type">string</span>, onLoad : <span class="param-type">function</span>, onProgress : <span class="param-type">onProgressCallback</span>, onError : <span class="param-type">onErrorCallback</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Starts loading from the given URL and passes the loaded Collada asset
+to the <code>onLoad()</code> callback.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>url</code></td>
+									<td class="description last"><p>The path/URL of the file to be loaded. This can also be a data URI.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onLoad</code></td>
+									<td class="description last"><p>Executed when the loading process has been finished.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onProgress</code></td>
+									<td class="description last"><p>Executed while the loading is in progress.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>onError</code></td>
+									<td class="description last"><p>Executed when errors occur.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#load">Loader#load</a></dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="parse" translate="no">.<a href="#parse">parse</a><span class="signature">( text : <span class="param-type">string</span>, path : <span class="param-type">string</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Parses the given Collada data and returns a result object holding the parsed scene,
+an array of animation clips and kinematics.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>text</code></td>
+									<td class="description last"><p>The raw Collada data as a string.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>path</code></td>
+									<td class="description last"><p>The asset path.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="Loader.html#parse">Loader#parse</a></dt>
+						</dl>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> An object representing the parsed asset.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/ColladaLoader.js" target="_blank" rel="noopener" translate="no">examples/jsm/loaders/ColladaLoader.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 798 - 0
docs/pages/Color.html

@@ -0,0 +1,798 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>Color - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">Color</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A Color instance is represented by RGB components in the linear <i>working
+color space</i>, which defaults to <code>LinearSRGBColorSpace</code>. Inputs
+conventionally using <code>SRGBColorSpace</code> (such as hexadecimals and CSS
+strings) are converted to the working color space automatically.</p>
+<p>Source color spaces may be specified explicitly, to ensure correct conversions.</p>
+<pre><code class="language-js">// assumed already LinearSRGBColorSpace; no conversion
+const color = new THREE.Color().setRGB( 0.5, 0.5, 0.5 );
+// converted explicitly from SRGBColorSpace to LinearSRGBColorSpace
+const color = new THREE.Color().setRGB( 0.5, 0.5, 0.5, SRGBColorSpace );
+</code></pre>
+<p>If THREE.ColorManagement is disabled, no conversions occur. For details,
+see <i>Color management</i>. Iterating through a Color instance will yield
+its components (r, g, b) in the corresponding order. A Color can be initialised
+in any of the following ways:</p>
+<pre><code class="language-js">//empty constructor - will default white
+const color1 = new THREE.Color();
+//Hexadecimal color (recommended)
+const color2 = new THREE.Color( 0xff0000 );
+//RGB string
+const color3 = new THREE.Color(&quot;rgb(255, 0, 0)&quot;);
+const color4 = new THREE.Color(&quot;rgb(100%, 0%, 0%)&quot;);
+//X11 color name - all 140 color names are supported.
+//Note the lack of CamelCase in the name
+const color5 = new THREE.Color( 'skyblue' );
+//HSL string
+const color6 = new THREE.Color(&quot;hsl(0, 100%, 50%)&quot;);
+//Separate RGB values between 0 and 1
+const color7 = new THREE.Color( 1, 0, 0 );
+</code></pre></div>
+				<h2>Code Example</h2>
+				<div translate="no"><pre><code class="language-js">// converted automatically from SRGBColorSpace to LinearSRGBColorSpace
+const color = new THREE.Color().setHex( 0x112233 );
+</code></pre></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="Color" translate="no">new <a href="#Color">Color</a><span class="signature">( r : <span class="param-type">number | string | Color</span>, g : <span class="param-type">number</span>, b : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new color.</p>
+<p>Note that standard method of specifying color in three.js is with a hexadecimal triplet,
+and that method is used throughout the rest of the documentation.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>r</code></td>
+									<td class="description last"><p>The red component of the color. If <code>g</code> and <code>b</code> are
+not provided, it can be hexadecimal triplet, a CSS-style string or another <code>Color</code> instance.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>g</code></td>
+									<td class="description last"><p>The green component.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>b</code></td>
+									<td class="description last"><p>The blue component.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="b" translate="no">.<a href="#b">b</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The blue component.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="g" translate="no">.<a href="#g">g</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The green component.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isColor" translate="no">.<a href="#isColor">isColor</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="r" translate="no">.<a href="#r">r</a><span class="type-signature"> : number</span> </h3>
+					<div class="description">
+						<p>The red component.<br/>Default is <code>1</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id=".NAMES" translate="no">.<a href="#.NAMES">NAMES</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>A dictionary with X11 color names.</p>
+<p>Note that multiple words such as Dark Orange become the string 'darkorange'.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="add" translate="no">.<a href="#add">add</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the RGB values of the given color to the RGB values of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to add.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="addColors" translate="no">.<a href="#addColors">addColors</a><span class="signature">( color1 : <span class="param-type">Color</span>, color2 : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the RGB values of the given colors and stores the result in this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color1</code></td>
+									<td class="description last"><p>The first color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color2</code></td>
+									<td class="description last"><p>The second color.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="addScalar" translate="no">.<a href="#addScalar">addScalar</a><span class="signature">( s : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given scalar value to the RGB values of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>s</code></td>
+									<td class="description last"><p>The scalar to add.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="applyMatrix3" translate="no">.<a href="#applyMatrix3">applyMatrix3</a><span class="signature">( m : <span class="param-type">Matrix3</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Transforms this color with the given 3x3 matrix.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>m</code></td>
+									<td class="description last"><p>The matrix.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="clone" translate="no">.<a href="#clone">clone</a><span class="signature">()</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a new color with copied values from this instance.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A clone of this instance.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="convertLinearToSRGB" translate="no">.<a href="#convertLinearToSRGB">convertLinearToSRGB</a><span class="signature">()</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Converts this color from <code>LinearSRGBColorSpace</code> to <code>SRGBColorSpace</code>.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="convertSRGBToLinear" translate="no">.<a href="#convertSRGBToLinear">convertSRGBToLinear</a><span class="signature">()</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Converts this color from <code>SRGBColorSpace</code> to <code>LinearSRGBColorSpace</code>.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copy" translate="no">.<a href="#copy">copy</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the values of the given color to this instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to copy.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copyLinearToSRGB" translate="no">.<a href="#copyLinearToSRGB">copyLinearToSRGB</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the given color into this color, and then converts this color from
+<code>LinearSRGBColorSpace</code> to <code>SRGBColorSpace</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to copy/convert.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="copySRGBToLinear" translate="no">.<a href="#copySRGBToLinear">copySRGBToLinear</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Copies the given color into this color, and then converts this color from
+<code>SRGBColorSpace</code> to <code>LinearSRGBColorSpace</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to copy/convert.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="equals" translate="no">.<a href="#equals">equals</a><span class="signature">( c : <span class="param-type">Color</span> )</span><span class="type-signature"> : boolean</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns <code>true</code> if this color is equal with the given one.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>c</code></td>
+									<td class="description last"><p>The color to test for equality.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> Whether this bounding color is equal with the given one.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="fromArray" translate="no">.<a href="#fromArray">fromArray</a><span class="signature">( array : <span class="param-type">Array.&lt;number></span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color's RGB components from the given array.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>An array holding the RGB values.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>offset</code></td>
+									<td class="description last"><p>The offset into the array.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="fromBufferAttribute" translate="no">.<a href="#fromBufferAttribute">fromBufferAttribute</a><span class="signature">( attribute : <span class="param-type">BufferAttribute</span>, index : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the components of this color from the given buffer attribute.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>attribute</code></td>
+									<td class="description last"><p>The buffer attribute holding color data.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>index</code></td>
+									<td class="description last"><p>The index into the attribute.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getHSL" translate="no">.<a href="#getHSL">getHSL</a><span class="signature">( target : <span class="param-type">Object</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Converts the colors RGB values into the HSL format and stores them into the
+given target object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>ColorManagement.workingColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The HSL representation of this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getHex" translate="no">.<a href="#getHex">getHex</a><span class="signature">( colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the hexadecimal value of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The hexadecimal value.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getHexString" translate="no">.<a href="#getHexString">getHexString</a><span class="signature">( colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the hexadecimal value of this color as a string (for example, 'FFFFFF').</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The hexadecimal value as a string.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getRGB" translate="no">.<a href="#getRGB">getRGB</a><span class="signature">( target : <span class="param-type">Color</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the RGB values of this color and stores them into the given target object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target color that is used to store the method's result.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>ColorManagement.workingColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The RGB representation of this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="getStyle" translate="no">.<a href="#getStyle">getStyle</a><span class="signature">( colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns the value of this color as a CSS style string. Example: <code>rgb(255,0,0)</code>.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The CSS representation of this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="lerp" translate="no">.<a href="#lerp">lerp</a><span class="signature">( color : <span class="param-type">Color</span>, alpha : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Linearly interpolates this color's RGB values toward the RGB values of the
+given color. The alpha argument can be thought of as the ratio between
+the two colors, where <code>0.0</code> is this color and <code>1.0</code> is the first argument.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to converge on.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>alpha</code></td>
+									<td class="description last"><p>The interpolation factor in the closed interval <code>[0,1]</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="lerpColors" translate="no">.<a href="#lerpColors">lerpColors</a><span class="signature">( color1 : <span class="param-type">Color</span>, color2 : <span class="param-type">Color</span>, alpha : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Linearly interpolates between the given colors and stores the result in this instance.
+The alpha argument can be thought of as the ratio between the two colors, where <code>0.0</code>
+is the first and <code>1.0</code> is the second color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color1</code></td>
+									<td class="description last"><p>The first color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>color2</code></td>
+									<td class="description last"><p>The second color.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>alpha</code></td>
+									<td class="description last"><p>The interpolation factor in the closed interval <code>[0,1]</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="lerpHSL" translate="no">.<a href="#lerpHSL">lerpHSL</a><span class="signature">( color : <span class="param-type">Color</span>, alpha : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Linearly interpolates this color's HSL values toward the HSL values of the
+given color. It differs from <a href="Color.html#lerp">Color#lerp</a> by not interpolating straight
+from one color to the other, but instead going through all the hues in between
+those two colors. The alpha argument can be thought of as the ratio between
+the two colors, where 0.0 is this color and 1.0 is the first argument.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to converge on.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>alpha</code></td>
+									<td class="description last"><p>The interpolation factor in the closed interval <code>[0,1]</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="multiply" translate="no">.<a href="#multiply">multiply</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Multiplies the RGB values of the given color with the RGB values of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to multiply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="multiplyScalar" translate="no">.<a href="#multiplyScalar">multiplyScalar</a><span class="signature">( s : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Multiplies the given scalar value with the RGB values of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>s</code></td>
+									<td class="description last"><p>The scalar to multiply.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="offsetHSL" translate="no">.<a href="#offsetHSL">offsetHSL</a><span class="signature">( h : <span class="param-type">number</span>, s : <span class="param-type">number</span>, l : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Adds the given HSL values to this color's values.
+Internally, this converts the color's RGB values to HSL, adds HSL
+and then converts the color back to RGB.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>h</code></td>
+									<td class="description last"><p>Hue value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>s</code></td>
+									<td class="description last"><p>Saturation value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>l</code></td>
+									<td class="description last"><p>Lightness value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="set" translate="no">.<a href="#set">set</a><span class="signature">( r : <span class="param-type">number | string | Color</span>, g : <span class="param-type">number</span>, b : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the colors's components from the given values.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>r</code></td>
+									<td class="description last"><p>The red component of the color. If <code>g</code> and <code>b</code> are
+not provided, it can be hexadecimal triplet, a CSS-style string or another <code>Color</code> instance.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>g</code></td>
+									<td class="description last"><p>The green component.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>b</code></td>
+									<td class="description last"><p>The blue component.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setColorName" translate="no">.<a href="#setColorName">setColorName</a><span class="signature">( style : <span class="param-type">string</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color from a color name. Faster than <a href="Color.html#setStyle">Color#setStyle</a> if
+you don't need the other CSS-style formats.</p>
+<p>For convenience, the list of names is exposed in <code>Color.NAMES</code> as a hash.</p>
+<pre><code class="language-js">Color.NAMES.aliceblue // returns 0xF0F8FF
+</code></pre>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>style</code></td>
+									<td class="description last"><p>The color name.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setFromVector3" translate="no">.<a href="#setFromVector3">setFromVector3</a><span class="signature">( v : <span class="param-type">Vector3</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the color's RGB components from the given 3D vector.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>v</code></td>
+									<td class="description last"><p>The vector to set.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setHSL" translate="no">.<a href="#setHSL">setHSL</a><span class="signature">( h : <span class="param-type">number</span>, s : <span class="param-type">number</span>, l : <span class="param-type">number</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color from RGB values.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>h</code></td>
+									<td class="description last"><p>Hue value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>s</code></td>
+									<td class="description last"><p>Saturation value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>l</code></td>
+									<td class="description last"><p>Lightness value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>ColorManagement.workingColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setHex" translate="no">.<a href="#setHex">setHex</a><span class="signature">( hex : <span class="param-type">number</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color from a hexadecimal value.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>hex</code></td>
+									<td class="description last"><p>The hexadecimal value.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setRGB" translate="no">.<a href="#setRGB">setRGB</a><span class="signature">( r : <span class="param-type">number</span>, g : <span class="param-type">number</span>, b : <span class="param-type">number</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color from RGB values.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>r</code></td>
+									<td class="description last"><p>Red channel value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>g</code></td>
+									<td class="description last"><p>Green channel value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>b</code></td>
+									<td class="description last"><p>Blue channel value between <code>0.0</code> and <code>1.0</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>ColorManagement.workingColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setScalar" translate="no">.<a href="#setScalar">setScalar</a><span class="signature">( scalar : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the colors's components to the given scalar value.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>scalar</code></td>
+									<td class="description last"><p>The scalar value.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="setStyle" translate="no">.<a href="#setStyle">setStyle</a><span class="signature">( style : <span class="param-type">string</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets this color from a CSS-style string. For example, <code>rgb(250, 0,0)</code>,
+<code>rgb(100%, 0%, 0%)</code>, <code>hsl(0, 100%, 50%)</code>, <code>#ff0000</code>, <code>#f00</code>, or <code>red</code> ( or
+any <a href="https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart">X11 color name</a> -
+all 140 color names are supported).</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>style</code></td>
+									<td class="description last"><p>Color as a CSS-style string.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space.<br/>Default is <code>SRGBColorSpace</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="sub" translate="no">.<a href="#sub">sub</a><span class="signature">( color : <span class="param-type">Color</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Subtracts the RGB values of the given color from the RGB values of this color.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to subtract.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> A reference to this color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toArray" translate="no">.<a href="#toArray">toArray</a><span class="signature">( array : <span class="param-type">Array.&lt;number></span>, offset : <span class="param-type">number</span> )</span><span class="type-signature"> : Array.&lt;number></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Writes the RGB components of this color to the given array. If no array is provided,
+the method returns a new instance.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>array</code></td>
+									<td class="description last"><p>The target array holding the color components.<br/>Default is <code>[]</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>offset</code></td>
+									<td class="description last"><p>Index of the first element in the array.<br/>Default is <code>0</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The color components.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id="toJSON" translate="no">.<a href="#toJSON">toJSON</a><span class="signature">()</span><span class="type-signature"> : number</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This methods defines the serialization result of this class. Returns the color
+as a hexadecimal value.</p>
+						</div>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The hexadecimal value.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/math/Color.js" target="_blank" rel="noopener" translate="no">src/math/Color.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 85 - 0
docs/pages/ColorConverter.html

@@ -0,0 +1,85 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ColorConverter - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+	<h1 translate="no">ColorConverter</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A utility class with helper functions for color conversion.</p></div>
+			</header>
+			<article>
+				<h2 class="subsection-title">Import</h2>
+				<p><span translate="no">ColorConverter</span> is an addon, and must be imported explicitly, see <a href="https://threejs.org/manual/#en/installation" target="_blank">Installation#Addons</a>.</p>
+				<pre><code class="language-js">import { ColorConverter } from 'three/addons/math/ColorConverter.js';</code></pre>
+				<div class="container-overview">
+					<div class="method">
+					</div>
+				</div>
+				<h2 class="subsection-title">Static Methods</h2>
+					<h3 class="name name-method" id=".getHSV" translate="no">.<a href="#.getHSV">getHSV</a><span class="signature">( color : <span class="param-type">Color</span>, target : <span class="param-type">Object</span> )</span><span class="type-signature"> : Object</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Returns a HSV color representation of the given color object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to get HSV values from.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target object that is used to store the method's result.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The HSV color.</dt>
+						</dl>
+					</div>
+					<h3 class="name name-method" id=".setHSV" translate="no">.<a href="#.setHSV">setHSV</a><span class="signature">( color : <span class="param-type">Color</span>, h : <span class="param-type">number</span>, s : <span class="param-type">number</span>, v : <span class="param-type">number</span> )</span><span class="type-signature"> : <a href="Color.html">Color</a></span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Sets the given HSV color definition to the given color object.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>color</code></td>
+									<td class="description last"><p>The color to set.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>h</code></td>
+									<td class="description last"><p>The hue.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>s</code></td>
+									<td class="description last"><p>The saturation.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>v</code></td>
+									<td class="description last"><p>The value.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The update color.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/examples/jsm/math/ColorConverter.js" target="_blank" rel="noopener" translate="no">examples/jsm/math/ColorConverter.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 67 - 0
docs/pages/ColorKeyframeTrack.html

@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ColorKeyframeTrack - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="KeyframeTrack.html">KeyframeTrack</a> → </p>
+	<h1 translate="no">ColorKeyframeTrack</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>A track for color keyframe values.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ColorKeyframeTrack" translate="no">new <a href="#ColorKeyframeTrack">ColorKeyframeTrack</a><span class="signature">( name : <span class="param-type">string</span>, times : <span class="param-type">Array.&lt;number></span>, values : <span class="param-type">Array.&lt;number></span>, interpolation : <span class="param-type">InterpolateLinear | InterpolateDiscrete | InterpolateSmooth</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new color keyframe track.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>name</code></td>
+									<td class="description last"><p>The keyframe track's name.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>times</code></td>
+									<td class="description last"><p>A list of keyframe times.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>values</code></td>
+									<td class="description last"><p>A list of keyframe values.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>interpolation</code></td>
+									<td class="description last"><p>The interpolation type.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="ValueTypeName" translate="no">.<a href="#ValueTypeName">ValueTypeName</a><span class="type-signature"> : String</span> </h3>
+					<div class="description">
+						<p>The value type name.<br/>Default is <code>'color'</code>.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="KeyframeTrack.html#ValueTypeName">KeyframeTrack#ValueTypeName</a></dt>
+						</dl>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/animation/tracks/ColorKeyframeTrack.js" target="_blank" rel="noopener" translate="no">src/animation/tracks/ColorKeyframeTrack.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 97 - 0
docs/pages/ColorSpaceNode.html

@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>ColorSpaceNode - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Node.html">Node</a> → <a href="TempNode.html">TempNode</a> → </p>
+	<h1 translate="no">ColorSpaceNode</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>This node represents a color space conversion. Meaning it converts
+a color value from a source to a target color space.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="ColorSpaceNode" translate="no">new <a href="#ColorSpaceNode">ColorSpaceNode</a><span class="signature">( colorNode : <span class="param-type">Node</span>, source : <span class="param-type">string</span>, target : <span class="param-type">string</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new color space node.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>colorNode</code></td>
+									<td class="description last"><p>Represents the color to convert.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>source</code></td>
+									<td class="description last"><p>The source color space.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>target</code></td>
+									<td class="description last"><p>The target color space.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="colorNode" translate="no">.<a href="#colorNode">colorNode</a><span class="type-signature"> : <a href="Node.html">Node</a></span> </h3>
+					<div class="description">
+						<p>Represents the color to convert.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="source" translate="no">.<a href="#source">source</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The source color space.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="target" translate="no">.<a href="#target">target</a><span class="type-signature"> : string</span> </h3>
+					<div class="description">
+						<p>The target color space.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="resolveColorSpace" translate="no">.<a href="#resolveColorSpace">resolveColorSpace</a><span class="signature">( builder : <span class="param-type">NodeBuilder</span>, colorSpace : <span class="param-type">string</span> )</span><span class="type-signature"> : string</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>This method resolves the constants <code>WORKING_COLOR_SPACE</code> and
+<code>OUTPUT_COLOR_SPACE</code> based on the current configuration of the
+color management and renderer.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>builder</code></td>
+									<td class="description last"><p>The current node builder.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>colorSpace</code></td>
+									<td class="description last"><p>The color space to resolve.</p></td>
+								</tr>
+							</tbody>
+						</table>
+						<dl class="details">
+							<dt class="tag-returns"><strong>Returns:</strong> The resolved color space.</dt>
+						</dl>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/nodes/display/ColorSpaceNode.js" target="_blank" rel="noopener" translate="no">src/nodes/display/ColorSpaceNode.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 121 - 0
docs/pages/CompressedArrayTexture.html

@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CompressedArrayTexture - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Texture.html">Texture</a> → <a href="CompressedTexture.html">CompressedTexture</a> → </p>
+	<h1 translate="no">CompressedArrayTexture</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Creates a texture 2D array based on data in compressed form.</p>
+<p>These texture are usually loaded with <a href="CompressedTextureLoader.html">CompressedTextureLoader</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CompressedArrayTexture" translate="no">new <a href="#CompressedArrayTexture">CompressedArrayTexture</a><span class="signature">( mipmaps : <span class="param-type">Array.&lt;Object></span>, width : <span class="param-type">number</span>, height : <span class="param-type">number</span>, depth : <span class="param-type">number</span>, format : <span class="param-type">number</span>, type : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new compressed array texture.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>mipmaps</code></td>
+									<td class="description last"><p>This array holds for all mipmaps (including the bases mip)
+the data and dimensions.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>width</code></td>
+									<td class="description last"><p>The width of the texture.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>height</code></td>
+									<td class="description last"><p>The height of the texture.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>depth</code></td>
+									<td class="description last"><p>The depth of the texture.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>format</code></td>
+									<td class="description last"><p>The min filter value.<br/>Default is <code>RGBAFormat</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>type</code></td>
+									<td class="description last"><p>The min filter value.<br/>Default is <code>UnsignedByteType</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="image" translate="no">.<a href="#image">image</a><span class="type-signature"> : Object</span> </h3>
+					<div class="description">
+						<p>The image property of a compressed texture just defines its dimensions.</p>
+					</div>
+						<dl class="details">
+							<dt class="tag-overrides"><strong>Overrides:</strong> <a href="CompressedTexture.html#image">CompressedTexture#image</a></dt>
+						</dl>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCompressedArrayTexture" translate="no">.<a href="#isCompressedArrayTexture">isCompressedArrayTexture</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="layerUpdates" translate="no">.<a href="#layerUpdates">layerUpdates</a><span class="type-signature"> : Set.&lt;number></span> </h3>
+					<div class="description">
+						<p>A set of all layers which need to be updated in the texture.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="wrapR" translate="no">.<a href="#wrapR">wrapR</a><span class="type-signature"> : <a href="global.html#RepeatWrapping">RepeatWrapping</a> | <a href="global.html#ClampToEdgeWrapping">ClampToEdgeWrapping</a> | <a href="global.html#MirroredRepeatWrapping">MirroredRepeatWrapping</a></span> </h3>
+					<div class="description">
+						<p>This defines how the texture is wrapped in the depth and corresponds to
+<em>W</em> in UVW mapping.<br/>Default is <code>ClampToEdgeWrapping</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Methods</h2>
+					<h3 class="name name-method" id="addLayerUpdate" translate="no">.<a href="#addLayerUpdate">addLayerUpdate</a><span class="signature">( layerIndex : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Describes that a specific layer of the texture needs to be updated.
+Normally when <a href="Texture.html#needsUpdate">Texture#needsUpdate</a> is set to <code>true</code>, the
+entire compressed texture array is sent to the GPU. Marking specific
+layers will only transmit subsets of all mipmaps associated with a
+specific depth in the array which is often much more performant.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>layerIndex</code></td>
+									<td class="description last"><p>The layer index that should be updated.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+					<h3 class="name name-method" id="clearLayerUpdates" translate="no">.<a href="#clearLayerUpdates">clearLayerUpdates</a><span class="signature">()</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Resets the layer updates registry.</p>
+						</div>
+					</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/textures/CompressedArrayTexture.js" target="_blank" rel="noopener" translate="no">src/textures/CompressedArrayTexture.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

+ 67 - 0
docs/pages/CompressedCubeTexture.html

@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+	<meta charset="utf-8">
+	<title>CompressedCubeTexture - Three.js Docs</title>
+	<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
+	<script src="../scripts/highlight.min.js"></script>
+	<link type="text/css" rel="stylesheet" href="../styles/highlight-three.css">
+	<link type="text/css" rel="stylesheet" href="../styles/page.css">
+</head>
+<body>
+		<p class="inheritance" translate="no"><a href="EventDispatcher.html">EventDispatcher</a> → <a href="Texture.html">Texture</a> → <a href="CompressedTexture.html">CompressedTexture</a> → </p>
+	<h1 translate="no">CompressedCubeTexture</h1>
+		<section>
+			<header>
+				<div class="class-description"><p>Creates a cube texture based on data in compressed form.</p>
+<p>These texture are usually loaded with <a href="CompressedTextureLoader.html">CompressedTextureLoader</a>.</p></div>
+			</header>
+			<article>
+				<div class="container-overview">
+					<h2>Constructor</h2>
+					<h3 class="name name-method" id="CompressedCubeTexture" translate="no">new <a href="#CompressedCubeTexture">CompressedCubeTexture</a><span class="signature">( images : <span class="param-type">Array.&lt;CompressedTexture></span>, format : <span class="param-type">number</span>, type : <span class="param-type">number</span> )</span> </h3>
+					<div class="method">
+						<div class="description">
+							<p>Constructs a new compressed texture.</p>
+						</div>
+						<table class="params">
+							<tbody>
+								<tr>
+									<td class="name"><code>images</code></td>
+									<td class="description last"><p>An array of compressed textures.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>format</code></td>
+									<td class="description last"><p>The texture format.<br/>Default is <code>RGBAFormat</code>.</p></td>
+								</tr>
+								<tr>
+									<td class="name"><code>type</code></td>
+									<td class="description last"><p>The texture type.<br/>Default is <code>UnsignedByteType</code>.</p></td>
+								</tr>
+							</tbody>
+						</table>
+					</div>
+				</div>
+				<h2 class="subsection-title">Properties</h2>
+				<div class="member">
+					<h3 class="name" id="isCompressedCubeTexture" translate="no">.<a href="#isCompressedCubeTexture">isCompressedCubeTexture</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<div class="member">
+					<h3 class="name" id="isCubeTexture" translate="no">.<a href="#isCubeTexture">isCubeTexture</a><span class="type-signature"> : boolean</span> <span class="type-signature">(readonly) </span></h3>
+					<div class="description">
+						<p>This flag can be used for type testing.<br/>Default is <code>true</code>.</p>
+					</div>
+				</div>
+				<h2 class="subsection-title">Source</h2>
+				<p>
+					<a href="https://github.com/mrdoob/three.js/blob/master/src/textures/CompressedCubeTexture.js" target="_blank" rel="noopener" translate="no">src/textures/CompressedCubeTexture.js</a>
+				</p>
+			</article>
+		</section>
+<script src="../scripts/linenumber.js"></script>
+<script src="../scripts/page.js"></script>
+</body>
+</html>

Некоторые файлы не были показаны из-за большого количества измененных файлов

粤ICP备19079148号