Mr.doob 2 years ago
parent
commit
2591228afc
100 changed files with 545 additions and 372 deletions
  1. 63 58
      build/three.cjs
  2. 63 58
      build/three.js
  3. 0 0
      build/three.min.js
  4. 94 72
      build/three.module.js
  5. 4 0
      docs/api/en/constants/Materials.html
  6. 4 4
      docs/api/en/core/GLBufferAttribute.html
  7. 8 0
      docs/api/en/core/Object3D.html
  8. 1 1
      docs/api/en/geometries/CircleGeometry.html
  9. 1 1
      docs/api/en/geometries/ConeGeometry.html
  10. 1 1
      docs/api/en/geometries/CylinderGeometry.html
  11. 1 1
      docs/api/en/geometries/RingGeometry.html
  12. 2 2
      docs/api/en/geometries/TorusGeometry.html
  13. 7 0
      docs/api/en/lights/PointLight.html
  14. 1 1
      docs/api/en/materials/Material.html
  15. 6 0
      docs/api/en/objects/Mesh.html
  16. 4 0
      docs/api/fr/constants/Materials.html
  17. 1 1
      docs/api/fr/geometries/CircleGeometry.html
  18. 1 1
      docs/api/fr/geometries/ConeGeometry.html
  19. 1 1
      docs/api/fr/geometries/CylinderGeometry.html
  20. 1 1
      docs/api/fr/geometries/RingGeometry.html
  21. 2 2
      docs/api/fr/geometries/TorusGeometry.html
  22. 4 0
      docs/api/it/constants/Materials.html
  23. 8 8
      docs/api/it/core/GLBufferAttribute.html
  24. 8 0
      docs/api/it/core/Object3D.html
  25. 1 1
      docs/api/it/geometries/CircleGeometry.html
  26. 1 1
      docs/api/it/geometries/ConeGeometry.html
  27. 1 1
      docs/api/it/geometries/CylinderGeometry.html
  28. 1 1
      docs/api/it/geometries/RingGeometry.html
  29. 2 2
      docs/api/it/geometries/TorusKnotGeometry.html
  30. 10 2
      docs/api/it/lights/PointLight.html
  31. 1 1
      docs/api/it/materials/Material.html
  32. 10 10
      docs/api/it/math/Matrix3.html
  33. 2 2
      docs/api/it/objects/LOD.html
  34. 2 1
      docs/api/it/renderers/webxr/WebXRManager.html
  35. 1 0
      docs/api/ko/constants/Materials.html
  36. 4 4
      docs/api/ko/core/GLBufferAttribute.html
  37. 8 0
      docs/api/ko/core/Object3D.html
  38. 4 0
      docs/api/pt-br/constants/Materials.html
  39. 4 0
      docs/api/zh/constants/Materials.html
  40. 4 4
      docs/api/zh/core/GLBufferAttribute.html
  41. 7 0
      docs/api/zh/core/Object3D.html
  42. 1 1
      docs/api/zh/geometries/CircleGeometry.html
  43. 1 1
      docs/api/zh/geometries/ConeGeometry.html
  44. 1 1
      docs/api/zh/geometries/CylinderGeometry.html
  45. 1 1
      docs/api/zh/geometries/RingGeometry.html
  46. 2 2
      docs/api/zh/geometries/TorusGeometry.html
  47. 7 0
      docs/api/zh/lights/PointLight.html
  48. 1 1
      docs/api/zh/materials/Material.html
  49. 1 1
      docs/examples/en/animations/MMDPhysics.html
  50. 2 2
      docs/examples/en/exporters/ColladaExporter.html
  51. 2 2
      docs/examples/en/exporters/EXRExporter.html
  52. 2 2
      docs/examples/en/exporters/GLTFExporter.html
  53. 1 1
      docs/examples/en/exporters/OBJExporter.html
  54. 1 1
      docs/examples/en/exporters/PLYExporter.html
  55. 2 2
      docs/examples/en/loaders/3DMLoader.html
  56. 1 1
      docs/examples/en/loaders/DRACOLoader.html
  57. 2 2
      docs/examples/en/loaders/GLTFLoader.html
  58. 3 3
      docs/examples/en/loaders/KTX2Loader.html
  59. 1 1
      docs/examples/en/loaders/OBJLoader.html
  60. 1 1
      docs/examples/en/loaders/PDBLoader.html
  61. 1 1
      docs/examples/en/loaders/PRWMLoader.html
  62. 1 1
      docs/examples/en/loaders/SVGLoader.html
  63. 1 1
      docs/examples/en/loaders/TGALoader.html
  64. 7 7
      docs/examples/en/math/convexhull/VertexList.html
  65. 14 0
      docs/examples/en/utils/SceneUtils.html
  66. 1 1
      docs/examples/zh/animations/MMDPhysics.html
  67. 2 2
      docs/examples/zh/exporters/ColladaExporter.html
  68. 2 2
      docs/examples/zh/exporters/GLTFExporter.html
  69. 1 1
      docs/examples/zh/exporters/PLYExporter.html
  70. 1 1
      docs/examples/zh/loaders/DRACOLoader.html
  71. 2 2
      docs/examples/zh/loaders/GLTFLoader.html
  72. 1 1
      docs/examples/zh/loaders/OBJLoader.html
  73. 1 1
      docs/examples/zh/loaders/PDBLoader.html
  74. 1 1
      docs/examples/zh/loaders/PRWMLoader.html
  75. 1 1
      docs/examples/zh/loaders/SVGLoader.html
  76. 1 1
      docs/examples/zh/loaders/TGALoader.html
  77. 19 3
      docs/index.html
  78. 3 3
      docs/manual/ar/buildTools/Testing-with-NPM.html
  79. 2 2
      docs/manual/ar/introduction/Useful-links.html
  80. 1 1
      docs/manual/en/introduction/Color-management.html
  81. 2 2
      docs/manual/en/introduction/Useful-links.html
  82. 5 5
      docs/manual/fr/introduction/Color-management.html
  83. 5 5
      docs/manual/fr/introduction/Useful-links.html
  84. 5 5
      docs/manual/it/introduction/Useful-links.html
  85. 2 2
      docs/manual/ja/introduction/Useful-links.html
  86. 2 2
      docs/manual/ko/introduction/Useful-links.html
  87. 7 7
      docs/manual/pt-br/introduction/Color-management.html
  88. 7 7
      docs/manual/pt-br/introduction/Useful-links.html
  89. 3 3
      docs/manual/ru/introduction/Useful-links.html
  90. 3 3
      docs/manual/zh/buildTools/Testing-with-NPM.html
  91. 1 1
      docs/manual/zh/introduction/Animation-system.html
  92. 1 1
      docs/manual/zh/introduction/How-to-update-things.html
  93. 2 2
      docs/manual/zh/introduction/Useful-links.html
  94. 1 0
      docs/page.css
  95. 34 6
      docs/page.js
  96. 1 1
      editor/index.html
  97. 5 5
      editor/js/Loader.js
  98. 4 4
      editor/js/Menubar.Add.js
  99. 2 1
      editor/js/Sidebar.Material.js
  100. 8 8
      editor/sw.js

File diff suppressed because it is too large
+ 63 - 58
build/three.cjs


File diff suppressed because it is too large
+ 63 - 58
build/three.js


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


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


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

@@ -20,11 +20,15 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
 		Defines which side of faces will be rendered - front, back or both.
 		Defines which side of faces will be rendered - front, back or both.
 		Default is [page:Constant FrontSide].
 		Default is [page:Constant FrontSide].
 		</p>
 		</p>
+		<p>
+		[page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
+		</p>
 
 
 		<h2>Blending Mode</h2>
 		<h2>Blending Mode</h2>
 		<code>
 		<code>

+ 4 - 4
docs/api/en/core/GLBufferAttribute.html

@@ -23,9 +23,9 @@
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<p>
 		<p>
-		`buffer` — Must be a <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+		`buffer` — Must be a [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer].
 		<br />
 		<br />
-		`type` — One of <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Types</a>.
+		`type` — One of [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Types].
 		<br />
 		<br />
 		`itemSize` — The number of values of the array that should be associated with
 		`itemSize` — The number of values of the array that should be associated with
 		a particular vertex. For instance, if this
 		a particular vertex. For instance, if this
@@ -48,7 +48,7 @@
 
 
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<p>
 		<p>
-			The current <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a> instance.
+			The current [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer] instance.
 		</p>
 		</p>
 
 
 		<h3>[property:Integer count]</h3>
 		<h3>[property:Integer count]</h3>
@@ -71,7 +71,7 @@
 
 
 		<h3>[property:GLenum type]</h3>
 		<h3>[property:GLenum type]</h3>
 		<p>
 		<p>
-			A <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a>
+			A [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Type]
 			describing the underlying VBO contents.
 			describing the underlying VBO contents.
 		</p>
 		</p>
 		<p>
 		<p>

+ 8 - 0
docs/api/en/core/Object3D.html

@@ -277,6 +277,14 @@
 		Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.
 		Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.
 		</p>
 		</p>
 
 
+		<h3>[method:Object3D getObjectsByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+		name -- the property name to search for. <br />
+		value -- value of the given property. <br /><br />
+
+		Searches through an object and its children, starting with the object itself, and returns all the objects with a property that matches the value given.
+		</p>
+
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<p>
 		<p>
 		[page:Vector3 target] — the result will be copied into this Vector3. <br /><br />
 		[page:Vector3 target] — the result will be copied into this Vector3. <br /><br />

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

@@ -50,7 +50,7 @@
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<p>
 		<p>
 		radius — Radius of the circle, default = 1.<br />
 		radius — Radius of the circle, default = 1.<br />
-		segments — Number of segments (triangles), minimum = 3, default = 8.<br />
+		segments — Number of segments (triangles), minimum = 3, default = 32.<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
 		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete circle.
 		thetaLength — The central angle, often called theta, of the circular sector. The default is 2*Pi, which makes for a complete circle.
 		</p>
 		</p>

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

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		radius — Radius of the cone base. Default is 1.<br />
 		radius — Radius of the cone base. Default is 1.<br />
 		height — Height of the cone. Default is 1.<br />
 		height — Height of the cone. Default is 1.<br />
-		radialSegments — Number of segmented faces around the circumference of the cone. Default is 8<br />
+		radialSegments — Number of segmented faces around the circumference of the cone. Default is 32<br />
 		heightSegments — Number of rows of faces along the height of the cone. Default is 1.<br />
 		heightSegments — Number of rows of faces along the height of the cone. Default is 1.<br />
 		openEnded — A Boolean indicating whether the base of the cone is open or capped. Default is false, meaning capped.<br />
 		openEnded — A Boolean indicating whether the base of the cone is open or capped. Default is false, meaning capped.<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />

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

@@ -46,7 +46,7 @@
 		radiusTop — Radius of the cylinder at the top. Default is 1.<br />
 		radiusTop — Radius of the cylinder at the top. Default is 1.<br />
 		radiusBottom — Radius of the cylinder at the bottom. Default is 1.<br />
 		radiusBottom — Radius of the cylinder at the bottom. Default is 1.<br />
 		height — Height of the cylinder. Default is 1.<br />
 		height — Height of the cylinder. Default is 1.<br />
-		radialSegments — Number of segmented faces around the circumference of the cylinder. Default is 8<br />
+		radialSegments — Number of segmented faces around the circumference of the cylinder. Default is 32<br />
 		heightSegments — Number of rows of faces along the height of the cylinder. Default is 1.<br />
 		heightSegments — Number of rows of faces along the height of the cylinder. Default is 1.<br />
 		openEnded — A Boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.<br />
 		openEnded — A Boolean indicating whether the ends of the cylinder are open or capped. Default is false, meaning capped.<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />
 		thetaStart — Start angle for first segment, default = 0 (three o'clock position).<br />

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

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		innerRadius — Default is 0.5. <br />
 		innerRadius — Default is 0.5. <br />
 		outerRadius — Default is 1. <br />
 		outerRadius — Default is 1. <br />
-		thetaSegments — Number of segments.  A higher number means the ring will be more round.  Minimum is 3.  Default is 8. <br />
+		thetaSegments — Number of segments.  A higher number means the ring will be more round.  Minimum is 3.  Default is 32. <br />
 		phiSegments — Minimum is 1.  Default is 1.<br />
 		phiSegments — Minimum is 1.  Default is 1.<br />
 		thetaStart — Starting angle. Default is 0. <br />
 		thetaStart — Starting angle. Default is 0. <br />
 		thetaLength — Central angle.  Default is Math.PI * 2.
 		thetaLength — Central angle.  Default is Math.PI * 2.

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

@@ -45,8 +45,8 @@
 		<p>
 		<p>
 		radius - Radius of the torus, from the center of the torus to the center of the tube. Default is 1. <br />
 		radius - Radius of the torus, from the center of the torus to the center of the tube. Default is 1. <br />
 		tube — Radius of the tube.  Default is 0.4. <br />
 		tube — Radius of the tube.  Default is 0.4. <br />
-		radialSegments — Default is 8 <br />
-		tubularSegments — Default is 6. <br />
+		radialSegments — Default is 12 <br />
+		tubularSegments — Default is 48. <br />
 		arc — Central angle.  Default is Math.PI * 2.
 		arc — Central angle.  Default is Math.PI * 2.
 		</p>
 		</p>
 
 

+ 7 - 0
docs/api/en/lights/PointLight.html

@@ -51,6 +51,13 @@ scene.add( light );
 		<p>
 		<p>
 			See the base [page:Light Light] class for common properties.
 			See the base [page:Light Light] class for common properties.
 		</p>
 		</p>
+		
+		<h3>[property:Boolean castShadow]</h3>
+		<p>
+			If set to `true` light will cast dynamic shadows. *Warning*: This is expensive and
+			requires tweaking to get shadows looking right. See the [page:PointLightShadow] for details.
+			The default is `false`.
+		</p>
 
 
 		<h3>[property:Float decay]</h3>
 		<h3>[property:Float decay]</h3>
 		<p>
 		<p>

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

@@ -260,7 +260,7 @@
 		<p>
 		<p>
 		Defines which side of faces will be rendered - front, back or both.
 		Defines which side of faces will be rendered - front, back or both.
 		Default is [page:Materials THREE.FrontSide].
 		Default is [page:Materials THREE.FrontSide].
-		Other options are [page:Materials THREE.BackSide] and [page:Materials THREE.DoubleSide].
+		Other options are [page:Materials THREE.BackSide], [page:Materials THREE.DoubleSide] or [page:Materials THREE.TwoPassDoubleSide].
 		</p>
 		</p>
 
 
 		<h3>[property:Boolean toneMapped]</h3>
 		<h3>[property:Boolean toneMapped]</h3>

+ 6 - 0
docs/api/en/objects/Mesh.html

@@ -72,6 +72,12 @@
 		<h3>[method:Mesh clone]()</h3>
 		<h3>[method:Mesh clone]()</h3>
 		<p>Returns a clone of this [name] object and its descendants.</p>
 		<p>Returns a clone of this [name] object and its descendants.</p>
 
 
+    <h3>[method:Vector3 getVertexPosition]( [param:Integer vert], [param:Vector3 target] )</h3>
+		<p>
+		Get the current position of the indicated vertex in local space, taking into account the
+		current animation state of both morph targets and skinning.
+		</p>
+
 		<h3>[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
 		<h3>[method:undefined raycast]( [param:Raycaster raycaster], [param:Array intersects] )</h3>
 		<p>
 		<p>
 		Get intersections between a casted ray and this mesh.
 		Get intersections between a casted ray and this mesh.

+ 4 - 0
docs/api/fr/constants/Materials.html

@@ -20,11 +20,15 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
 		Définit quel côté des faces sera rendu - avant, arrière ou les deux.
 		Définit quel côté des faces sera rendu - avant, arrière ou les deux.
 		La valeur par défaut est [page:Constant FrontSide].
 		La valeur par défaut est [page:Constant FrontSide].
 		</p>
 		</p>
+		<p>
+		[page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
+		</p>
 
 
 		<h2>Mode de fusion</h2>
 		<h2>Mode de fusion</h2>
 		<code>
 		<code>

+ 1 - 1
docs/api/fr/geometries/CircleGeometry.html

@@ -50,7 +50,7 @@
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<p>
 		<p>
 		radius — Rayon du cercle, par défaut = 1.<br />
 		radius — Rayon du cercle, par défaut = 1.<br />
-		segments — Nombre de segments (triangles), minimum = 3, défaut = 8.<br />
+		segments — Nombre de segments (triangles), minimum = 3, défaut = 32.<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />
 		thetaLength — L'angle central, souvent appelé thêta, du secteur circulaire. La valeur par défaut est 2*Pi, ce qui fait un cercle complet.
 		thetaLength — L'angle central, souvent appelé thêta, du secteur circulaire. La valeur par défaut est 2*Pi, ce qui fait un cercle complet.
 		</p>
 		</p>

+ 1 - 1
docs/api/fr/geometries/ConeGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		radius — Rayon de la base du cône. La valeur par défaut est 1.<br />
 		radius — Rayon de la base du cône. La valeur par défaut est 1.<br />
 		height — Hauteur du cône. La valeur par défaut est 1.<br />
 		height — Hauteur du cône. La valeur par défaut est 1.<br />
-		radialSegments — Nombre de faces segmentées autour de la circonférence du cône. La valeur par défaut est 8.<br />
+		radialSegments — Nombre de faces segmentées autour de la circonférence du cône. La valeur par défaut est 32.<br />
 		heightSegments — Nombre de rangées de faces sur la hauteur du cône. La valeur par défaut est 1.<br />
 		heightSegments — Nombre de rangées de faces sur la hauteur du cône. La valeur par défaut est 1.<br />
 		openEnded — Un booléen indiquant si la base du cône est ouverte ou fermée. La valeur par défaut est false, ce qui signifie fermée.<br />
 		openEnded — Un booléen indiquant si la base du cône est ouverte ou fermée. La valeur par défaut est false, ce qui signifie fermée.<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />

+ 1 - 1
docs/api/fr/geometries/CylinderGeometry.html

@@ -46,7 +46,7 @@
 		radiusTop — Rayon du cylindre supérieur. La valeur par défaut est 1.<br />
 		radiusTop — Rayon du cylindre supérieur. La valeur par défaut est 1.<br />
 		radiusBottom — Rayon du cylindre inférieur. La valeur par défaut est 1.<br />
 		radiusBottom — Rayon du cylindre inférieur. La valeur par défaut est 1.<br />
 		height — Hauteur du cylindre. La valeur par défaut est 1.<br />
 		height — Hauteur du cylindre. La valeur par défaut est 1.<br />
-		radialSegments — Nombre de faces segmentées autour de la circonférence du cylindre. La valeur par défaut est 8.<br />
+		radialSegments — Nombre de faces segmentées autour de la circonférence du cylindre. La valeur par défaut est 32.<br />
 		heightSegments — Nombre de rangées de faces sur la hauteur du cylindre. La valeur par défaut est 1.<br />
 		heightSegments — Nombre de rangées de faces sur la hauteur du cylindre. La valeur par défaut est 1.<br />
 		openEnded — Un booléen indiquant si les extrémités du cylindre sont ouvertes ou fermées. La valeur par défaut est false, ce qui signifie fermées.<br />
 		openEnded — Un booléen indiquant si les extrémités du cylindre sont ouvertes ou fermées. La valeur par défaut est false, ce qui signifie fermées.<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />
 		thetaStart — Angle de départ pour le premier segment, par défaut = 0 (position trois heures).<br />

+ 1 - 1
docs/api/fr/geometries/RingGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		innerRadius — La valeur par défaut est 0.5.<br />
 		innerRadius — La valeur par défaut est 0.5.<br />
 		outerRadius — La valeur par défaut est 1. <br />
 		outerRadius — La valeur par défaut est 1. <br />
-		thetaSegments — Nombre de segments. Un nombre plus élevé signifie que l'anneau sera plus rond. Le minimum est 3. La valeur par défaut est 8. <br />
+		thetaSegments — Nombre de segments. Un nombre plus élevé signifie que l'anneau sera plus rond. Le minimum est 3. La valeur par défaut est 32. <br />
 		phiSegments — Le minimum est 1. La valeur par défaut est 1.<br />
 		phiSegments — Le minimum est 1. La valeur par défaut est 1.<br />
 		thetaStart —  Angle de départ. La valeur par défaut est 0.<br />
 		thetaStart —  Angle de départ. La valeur par défaut est 0.<br />
 		thetaLength — Angle central. La valeur par défaut est Math.PI * 2.
 		thetaLength — Angle central. La valeur par défaut est Math.PI * 2.

+ 2 - 2
docs/api/fr/geometries/TorusGeometry.html

@@ -45,8 +45,8 @@
 		<p>
 		<p>
 		radius - Rayon du tore, du centre du tore au centre du tube. La valeur par défaut est 1.<br />
 		radius - Rayon du tore, du centre du tore au centre du tube. La valeur par défaut est 1.<br />
 		tube — Rayon du tube. La valeur par défaut est 0,4.<br />
 		tube — Rayon du tube. La valeur par défaut est 0,4.<br />
-		radialSegments — La valeur par défaut est 8 <br />
-		tubularSegments — La valeur par défaut est 6. <br />
+		radialSegments — La valeur par défaut est 12 <br />
+		tubularSegments — La valeur par défaut est 48. <br />
 		arc — Angle central. La valeur par défaut est Math.PI * 2.
 		arc — Angle central. La valeur par défaut est Math.PI * 2.
 		</p>
 		</p>
 
 

+ 4 - 0
docs/api/it/constants/Materials.html

@@ -22,11 +22,15 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
       Definisce quale lato delle facce sarà visualizzato - frontale, retro o entrambi.
       Definisce quale lato delle facce sarà visualizzato - frontale, retro o entrambi.
       Il valore predefinito è [page:Constant FrontSide].
       Il valore predefinito è [page:Constant FrontSide].
 		</p>
 		</p>
+		<p>
+		[page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
+		</p>
 
 
 		<h2>Modalità Blending</h2>
 		<h2>Modalità Blending</h2>
 		<code>
 		<code>

+ 8 - 8
docs/api/it/core/GLBufferAttribute.html

@@ -10,24 +10,24 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
-      Questa classe di attributi del buffer non costruisce un VBO. Invece, 
+      Questa classe di attributi del buffer non costruisce un VBO. Invece,
       utilizza qualsiasi VBO che gli viene passato nel costruttore e può essere
       utilizza qualsiasi VBO che gli viene passato nel costruttore e può essere
       successivamente alterato tramite la proprietà `buffer`.<br /><br />
       successivamente alterato tramite la proprietà `buffer`.<br /><br />
       È necessario passare parametri aggiuntivi insieme a VBO. I quali sono:
       È necessario passare parametri aggiuntivi insieme a VBO. I quali sono:
       il contesto GL, il tipo di dati GL, il numero di componenti per vertice,
       il contesto GL, il tipo di dati GL, il numero di componenti per vertice,
       il numero di byte per componente, e il numero di vertici. <br /><br />
       il numero di byte per componente, e il numero di vertici. <br /><br />
-      Il caso d'uso più comune per questa classe è quando un qualche tipo di 
+      Il caso d'uso più comune per questa classe è quando un qualche tipo di
       calcolo GPGPU interferisce o addirittura produce i VBO in questione.
       calcolo GPGPU interferisce o addirittura produce i VBO in questione.
 		</p>
 		</p>
 
 
 		<h2>Costruttore</h2>
 		<h2>Costruttore</h2>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<p>
 		<p>
-		`buffer` — Deve essere un <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+		`buffer` — Deve essere un [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer].
 		<br />
 		<br />
-		`type` — Uno dei <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">Tipi di dati WebGL</a>.
+		`type` — Uno dei [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types Tipi di dati WebGL].
 		<br />
 		<br />
-		`itemSize` — Il numero dei valori dell'array che devono essere associati con un particolare vertice. Ad esempio, 
+		`itemSize` — Il numero dei valori dell'array che devono essere associati con un particolare vertice. Ad esempio,
     se questo attributo memorizza un vettore a 3 componenti (come una posizione, una normale, un colore), allora itemSize dovrebbe essere 3.
     se questo attributo memorizza un vettore a 3 componenti (come una posizione, una normale, un colore), allora itemSize dovrebbe essere 3.
 		<br />
 		<br />
 		`elementSize` — 1, 2 o 4. La dimensione corrispondente (in byte) per il parametro "type" passato.
 		`elementSize` — 1, 2 o 4. La dimensione corrispondente (in byte) per il parametro "type" passato.
@@ -47,7 +47,7 @@
 
 
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<p>
 		<p>
-			L'istanza corrente di <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+			L'istanza corrente di [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer].
 		</p>
 		</p>
 
 
 		<h3>[property:Integer count]</h3>
 		<h3>[property:Integer count]</h3>
@@ -70,11 +70,11 @@
 
 
 		<h3>[property:GLenum type]</h3>
 		<h3>[property:GLenum type]</h3>
 		<p>
 		<p>
-      Un <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a> 
+      Un [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Type]
       che descrive i contenuti VBO.
       che descrive i contenuti VBO.
 		</p>
 		</p>
 		<p>
 		<p>
-      Imposta questa proprietà insieme a `elementSize`. Il modo consigliato è 
+      Imposta questa proprietà insieme a `elementSize`. Il modo consigliato è
       di usare il metodo `setType`.
       di usare il metodo `setType`.
 		</p>
 		</p>
 
 

+ 8 - 0
docs/api/it/core/Object3D.html

@@ -281,6 +281,14 @@
       Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con la proprietà che corrisponde al valore passato.
       Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce il primo con la proprietà che corrisponde al valore passato.
 		</p>
 		</p>
 
 
+		<h3>[method:Object3D getObjectsByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+		  name -- il nome della proprietà da cercare. <br />
+		  value -- il valore della proprietà data. <br /><br />
+
+      Cerca in un oggetto e nei suoi figli, partendo dall'oggetto stesso, e restituisce tutti gli oggetti con la proprietà che corrisponde al valore passato.
+		</p>
+
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<p>
 		<p>
 		  [page:Vector3 target] — il risultato verrà copiato in questo Vector3. <br /><br />
 		  [page:Vector3 target] — il risultato verrà copiato in questo Vector3. <br /><br />

+ 1 - 1
docs/api/it/geometries/CircleGeometry.html

@@ -50,7 +50,7 @@
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<p>
 		<p>
 		radius — Raggio del cerchio. Il valore predefinito è 1.<br />
 		radius — Raggio del cerchio. Il valore predefinito è 1.<br />
-		segments — Numero di segmenti (triangoli). Il valore minimo è 3. Il valore predefinito è 8.<br />
+		segments — Numero di segmenti (triangoli). Il valore minimo è 3. Il valore predefinito è 32.<br />
 		thetaStart — Angolo iniziale per il primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />
 		thetaStart — Angolo iniziale per il primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />
 		thetaLength — L'angolo centrale, spesso chiamato theta, del settore circolare. Il valore predefinito è 2*Pi, che crea un cerchio completo.
 		thetaLength — L'angolo centrale, spesso chiamato theta, del settore circolare. Il valore predefinito è 2*Pi, che crea un cerchio completo.
 		</p>
 		</p>

+ 1 - 1
docs/api/it/geometries/ConeGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		radius — Raggio della base del cono. Il valore predefinito è 1.<br />
 		radius — Raggio della base del cono. Il valore predefinito è 1.<br />
 		height — Altezza del cono. Il valore predefinito è 1.<br />
 		height — Altezza del cono. Il valore predefinito è 1.<br />
-		radialSegments — Numero di facce segmentate intorno alla circonferenza del cono. Il valore predefinito è 8.<br />
+		radialSegments — Numero di facce segmentate intorno alla circonferenza del cono. Il valore predefinito è 32.<br />
 		heightSegments — Numero di file di facce lungo l'altezza del cono. Il valore predefinito è 1.<br />
 		heightSegments — Numero di file di facce lungo l'altezza del cono. Il valore predefinito è 1.<br />
 		openEnded — Un booleano che indica se la base del cono è aperta o chiusa. Il valore predefinito è false, significa chiusa.<br />
 		openEnded — Un booleano che indica se la base del cono è aperta o chiusa. Il valore predefinito è false, significa chiusa.<br />
 		thetaStart — Angolo iniziale per il primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />
 		thetaStart — Angolo iniziale per il primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />

+ 1 - 1
docs/api/it/geometries/CylinderGeometry.html

@@ -46,7 +46,7 @@
 		radiusTop — Raggio del cilindro nella parte superiore. Il valore predefinito è 1.<br />
 		radiusTop — Raggio del cilindro nella parte superiore. Il valore predefinito è 1.<br />
 		radiusBottom — Raggio del cilindro nella parte inferiore. Il valore predefinito è 1.<br />
 		radiusBottom — Raggio del cilindro nella parte inferiore. Il valore predefinito è 1.<br />
 		height — Altezza del cilindro. Il valore predefinito è 1.<br />
 		height — Altezza del cilindro. Il valore predefinito è 1.<br />
-		radialSegments — Numero di facce segmentate intorno alla circonferenza del cilindro. Il valore predefinito è 8<br />
+		radialSegments — Numero di facce segmentate intorno alla circonferenza del cilindro. Il valore predefinito è 32<br />
 		heightSegments — Numero di file delle facce lungo l'altezza del cilindro. Il valore predefinito è 1.<br />
 		heightSegments — Numero di file delle facce lungo l'altezza del cilindro. Il valore predefinito è 1.<br />
 		openEnded — Un booleano che indica se le estremità del cilindro sono aperte o chiuse. Il valore predefinito è false, significa chiuse.<br />
 		openEnded — Un booleano che indica se le estremità del cilindro sono aperte o chiuse. Il valore predefinito è false, significa chiuse.<br />
 		thetaStart — L'angolo di partenza del primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />
 		thetaStart — L'angolo di partenza del primo segmento. Il valore predefinito è 0 (posizione ore tre).<br />

+ 1 - 1
docs/api/it/geometries/RingGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		innerRadius — Il valore predefinito è 0.5.<br />
 		innerRadius — Il valore predefinito è 0.5.<br />
 		outerRadius — Il valore predefinito è 1.<br />
 		outerRadius — Il valore predefinito è 1.<br />
-		thetaSegments — Numero di segmenti. Un numero alto significa che l'anello sarà più rotondo. Il valore minimo è 3. Il valore predefinito è 8.<br />
+		thetaSegments — Numero di segmenti. Un numero alto significa che l'anello sarà più rotondo. Il valore minimo è 3. Il valore predefinito è 32.<br />
 		phiSegments — Il valore minimo è 1. Il valore predefinito è 1.<br />
 		phiSegments — Il valore minimo è 1. Il valore predefinito è 1.<br />
 		thetaStart — Angolo di partenza. Il valore predefinito è 0. <br />
 		thetaStart — Angolo di partenza. Il valore predefinito è 0. <br />
 		thetaLength — Angolo centrale. Il valore predefinito è Math.PI * 2.
 		thetaLength — Angolo centrale. Il valore predefinito è Math.PI * 2.

+ 2 - 2
docs/api/it/geometries/TorusKnotGeometry.html

@@ -47,8 +47,8 @@
 			<ul>
 			<ul>
 				<li>radius - Raggio del toro. Il valore predefinito è 1.</li>
 				<li>radius - Raggio del toro. Il valore predefinito è 1.</li>
 				<li>tube — Raggio del tubo. Il valore predefinito è 0.4.</li>
 				<li>tube — Raggio del tubo. Il valore predefinito è 0.4.</li>
-				<li>tubularSegments — Il valore predefinito è 64.</li>
-				<li>radialSegments — Il valore predefinito è 8.</li>
+				<li>tubularSegments — Il valore predefinito è 12.</li>
+				<li>radialSegments — Il valore predefinito è 48.</li>
 				<li>p — Questo valore determina, quante volte la geometria si avvolge attorno al suo asse di simmetria rotazionale. Il valore predefinito è 2.</li>
 				<li>p — Questo valore determina, quante volte la geometria si avvolge attorno al suo asse di simmetria rotazionale. Il valore predefinito è 2.</li>
 				<li>q — Questo valore determina, quante volte la geometria si avvolge attorno ad un cerchio all'interno del toro. Il valore predefinito è 3.</li>
 				<li>q — Questo valore determina, quante volte la geometria si avvolge attorno ad un cerchio all'interno del toro. Il valore predefinito è 3.</li>
 			</ul>
 			</ul>

+ 10 - 2
docs/api/it/lights/PointLight.html

@@ -52,10 +52,18 @@ scene.add( light );
       Vedi la classe base [page:Light Light] per le proprietà comuni.
       Vedi la classe base [page:Light Light] per le proprietà comuni.
 		</p>
 		</p>
 
 
+		<h3>[property:Boolean castShadow]</h3>
+		<p>
+			Se impostato a `true` la luce proietterà ombre dinamiche. *Attenzione*: Questo 
+			è costoso e richiede una messa a punto per ottenere le ombre giuste. Vedi 
+			[page:PointLightShadow] per i dettagli. Il valore predefinito è `false`.
+		</p>
+
 		<h3>[property:Float decay]</h3>
 		<h3>[property:Float decay]</h3>
 		<p>
 		<p>
-			The amount the light dims along the distance of the light. Default is `2`.<br />
-			In context of physically-correct rendering the default value should not be changed.
+			La quantità di luce che si attenua lungo la distanza della luce. L'impostazione predefinita 
+			è `2`.<br /> 
+			Nel contesto di un rendering fisicamente corretto, il valore predefinito non deve essere modificato.
 		</p>
 		</p>
 
 
 		<h3>[property:Float distance]</h3>
 		<h3>[property:Float distance]</h3>

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

@@ -276,7 +276,7 @@
 		<p>
 		<p>
 			Definisce quale lato delle facce sarà visualizzato - frontale, posteriore o entrambi.
 			Definisce quale lato delle facce sarà visualizzato - frontale, posteriore o entrambi.
 			Il valore predefinito è [page:Materials THREE.FrontSide].
 			Il valore predefinito è [page:Materials THREE.FrontSide].
-			Altre opzioni sono [page:Materials THREE.BackSide] e [page:Materials THREE.DoubleSide].
+			Altre opzioni sono [page:Materials THREE.BackSide], [page:Materials THREE.DoubleSide] e [page:Materials THREE.TwoPassDoubleSide].
 		</p>
 		</p>
 
 
 		<h3>[property:Boolean toneMapped]</h3>
 		<h3>[property:Boolean toneMapped]</h3>

+ 10 - 10
docs/api/it/math/Matrix3.html

@@ -131,10 +131,10 @@ zAxis = (c, f, i)
 
 
 		<h3>[method:this makeRotation]( [param:Float theta] )</h3>
 		<h3>[method:this makeRotation]( [param:Float theta] )</h3>
 		<p>
 		<p>
-		[page:Float theta] — Rotation angle in radians. Positive values rotate counterclockwise.<br /><br />
+		[page:Float theta] — Angolo di rotazione in radianti. I valori positivi ruotano in senso antiorario.<br /><br />
 
 
-		Sets this matrix as a 2D rotational transformation by [page:Float theta] radians.
-		The resulting matrix will be:
+		Imposta questa matrice come una trasformazione rotazionale 2D di [page:Float teta] radianti.
+		La matrice risultante sarà:
 		<code>
 		<code>
 cos(&theta;) -sin(&theta;) 0
 cos(&theta;) -sin(&theta;) 0
 sin(&theta;) cos(&theta;)  0
 sin(&theta;) cos(&theta;)  0
@@ -144,10 +144,10 @@ sin(&theta;) cos(&theta;)  0
 
 
 		<h3>[method:this makeScale]( [param:Float x], [param:Float y] )</h3>
 		<h3>[method:this makeScale]( [param:Float x], [param:Float y] )</h3>
 		<p>
 		<p>
-		[page:Float x] - the amount to scale in the X axis.<br />
-		[page:Float y] - the amount to scale in the Y axis.<br />
+		[page:Float x] - la quantità da scalare sull'asse X.<br />
+		[page:Float y] - la quantità da scalare sull'asse Y.<br />
 
 
-		Sets this matrix as a 2D scale transform:
+		Imposta questa matrice come una trasformazione di scala 2D:
 		<code>
 		<code>
 x, 0, 0,
 x, 0, 0,
 0, y, 0,
 0, y, 0,
@@ -157,10 +157,10 @@ x, 0, 0,
 
 
 		<h3>[method:this makeTranslation]( [param:Float x], [param:Float y] )</h3>
 		<h3>[method:this makeTranslation]( [param:Float x], [param:Float y] )</h3>
 		<p>
 		<p>
-		[page:Float x] - the amount to translate in the X axis.<br />
-		[page:Float y] - the amount to translate in the Y axis.<br />
+		[page:Float x] - la quantità da translare sull'asse X.<br />
+		[page:Float y] - la quantità da translare sull'asse Y.<br />
 
 
-		Sets this matrix as a 2D translation transform:
+		Imposta questa matrice come una trasformazione di traslazione 2D:
 		<code>
 		<code>
 1, 0, x,
 1, 0, x,
 0, 1, y,
 0, 1, y,
@@ -208,7 +208,7 @@ x, 0, 0,
 		[page:Float ty] - offset y<br />
 		[page:Float ty] - offset y<br />
 		[page:Float sx] - repeat x<br />
 		[page:Float sx] - repeat x<br />
 		[page:Float sy] - repeat y<br />
 		[page:Float sy] - repeat y<br />
-		[page:Float rotation] - rotazione, in radianti. Positive values rotate counterclockwise<br />
+		[page:Float rotation] - rotazione, in radianti. I valori positivi ruotano in senso antiorario<br />
 		[page:Float cx] - centro x di rotazione<br />
 		[page:Float cx] - centro x di rotazione<br />
 		[page:Float cy] - centro y di rotazione<br /><br />
 		[page:Float cy] - centro y di rotazione<br /><br />
 
 

+ 2 - 2
docs/api/it/objects/LOD.html

@@ -72,7 +72,7 @@
 			Ogni livello è un oggetto con due proprietà:<br />
 			Ogni livello è un oggetto con due proprietà:<br />
 			[page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
 			[page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
 			[page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
 			[page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
-			[page:Float hysteresis] - Threshold used to avoid flickering at LOD boundaries, as a fraction of distance.
+			[page:Float hysteresis] - Soglia utilizzata per evitare il flickering ai confini del LOD, come frazione della distanza.
 		</p>
 		</p>
 
 
 		<h2>Metodi</h2>
 		<h2>Metodi</h2>
@@ -82,7 +82,7 @@
 		<p>
 		<p>
 		[page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
 		[page:Object3D object] - L'[page:Object3D] da visualizzare a questo livello.<br />
 		[page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
 		[page:Float distance] - La distanza alla quale visualizzare questo livello di dettaglio.<br />
-		[page:Float hysteresis] - Threshold used to avoid flickering at LOD boundaries, as a fraction of distance. Default 0.0.<br /><br />
+		[page:Float hysteresis] - Soglia utilizzata per evitare il flickering ai confini del LOD, come frazione della distanza. Il valore predefinito è 0.0.<br /><br />
 
 
 		Aggiunge una mesh che sarà visualizzata ad una certa distanza e maggiore. In genere, maggiore è 
 		Aggiunge una mesh che sarà visualizzata ad una certa distanza e maggiore. In genere, maggiore è 
 		la distanza, minore è il dettaglio sulla mesh.
 		la distanza, minore è il dettaglio sulla mesh.

+ 2 - 1
docs/api/it/renderers/webxr/WebXRManager.html

@@ -103,7 +103,8 @@
 		<h3>[method:undefined setFramebufferScaleFactor]( [param:Float factor], [param:Boolean limited] )</h3>
 		<h3>[method:undefined setFramebufferScaleFactor]( [param:Float factor], [param:Boolean limited] )</h3>
 		<p>
 		<p>
 		[page:Float factor] — Il fattore di scala del framebuffer da impostare.<br /><br />
 		[page:Float factor] — Il fattore di scala del framebuffer da impostare.<br /><br />
-		[page:Boolean limited] — Whether the framebuffer scale factor should be reduced to the native limit if the value ends up being higher than the device's capabilities. Default is `false`.<br /><br />
+		[page:Boolean limited] — Indica se il fattore di scala del framebuffer deve essere ridotto al 
+		limite nativo se il valore risulta superiore alle capacità del dispositivo. Il valore predefinito è `false`.<br /><br />
 
 
 		Specifica il fattore di ridimensionamento da utilizzare per determinare la dimensione del framebuffer durante il rendering 
 		Specifica il fattore di ridimensionamento da utilizzare per determinare la dimensione del framebuffer durante il rendering 
 		su un dispositivo XR. Il valore è relativo alla risoluzione del dispositivo XR predefinito. Il valore predefinito è `1`. 
 		su un dispositivo XR. Il valore è relativo alla risoluzione del dispositivo XR predefinito. Il valore predefinito è `1`. 

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

@@ -23,6 +23,7 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
 		어느 측면(앞,뒤 혹은 둘 다)이 렌더링 될 지 정의합니다.
 		어느 측면(앞,뒤 혹은 둘 다)이 렌더링 될 지 정의합니다.

+ 4 - 4
docs/api/ko/core/GLBufferAttribute.html

@@ -20,9 +20,9 @@
 		<h2>생성자</h2>
 		<h2>생성자</h2>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<p>
 		<p>
-		*buffer* — 반드시 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>여야 합니다.
+		*buffer* — 반드시 [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer]여야 합니다.
 		<br />
 		<br />
-		*type* — <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL</a> 데이터 타입 중 하나.
+		*type* — [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL] 데이터 타입 중 하나.
 		<br />
 		<br />
 		*itemSize* — 특정 꼭짓점가 연관되어야 하는 배열의 값의 수. 예를 들어 이 속성이 3-컴포넌트 벡터(예: 위치, 법선 또는 색상)를 저장하는 경우 (
 		*itemSize* — 특정 꼭짓점가 연관되어야 하는 배열의 값의 수. 예를 들어 이 속성이 3-컴포넌트 벡터(예: 위치, 법선 또는 색상)를 저장하는 경우 (
 			itemSize는 3이어야 합니다.
 			itemSize는 3이어야 합니다.
@@ -44,7 +44,7 @@
 
 
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<p>
 		<p>
-			현재의 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a> 인스턴스.
+			현재의 [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer] 인스턴스.
 		</p>
 		</p>
 
 
 		<h3>[property:Integer count]</h3>
 		<h3>[property:Integer count]</h3>
@@ -67,7 +67,7 @@
 
 
 		<h3>[property:GLenum type]</h3>
 		<h3>[property:GLenum type]</h3>
 		<p>
 		<p>
-			기저의 VBO 컨텐츠를 묘사하는 <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a>
+			기저의 VBO 컨텐츠를 묘사하는 [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Type]
 			.
 			.
 		</p>
 		</p>
 		<p>
 		<p>

+ 8 - 0
docs/api/ko/core/Object3D.html

@@ -266,6 +266,14 @@
 		객체 자신부터 시작하여 객체와 객체 자식 항목을 검색하고 일치하는 값의 첫 번째 항목을 리턴합니다.
 		객체 자신부터 시작하여 객체와 객체 자식 항목을 검색하고 일치하는 값의 첫 번째 항목을 리턴합니다.
 		</p>
 		</p>
 
 
+		<h3>[method:Object3D getObjectsByProperty]( [param:String name], [param:Any value] )</h3>
+		<p>
+		name -- 검색하고자하는 이름 프로퍼티. <br />
+		value -- 프로퍼티의 값. <br /><br />
+
+		개체 자체부터 시작하여 개체와 해당 자식을 검색하고 일치하는 값의 모든 개체를 반환합니다.
+		</p>
+
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 		<p>
 		<p>
 		[page:Vector3 target] — 결과값은 이 Vector3에 복제됩니다. <br /><br />
 		[page:Vector3 target] — 결과값은 이 Vector3에 복제됩니다. <br /><br />

+ 4 - 0
docs/api/pt-br/constants/Materials.html

@@ -19,11 +19,15 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
 		Define qual lado das faces será renderizado - frente, verso ou ambos.
 		Define qual lado das faces será renderizado - frente, verso ou ambos.
 		O padrão é [page:Constant FrontSide].
 		O padrão é [page:Constant FrontSide].
 		</p>
 		</p>
+		<p>
+		[page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
+		</p>
 
 
 		<h2>Modo de Mesclagem (Blending Mode)</h2>
 		<h2>Modo de Mesclagem (Blending Mode)</h2>
 		<code>
 		<code>

+ 4 - 0
docs/api/zh/constants/Materials.html

@@ -20,11 +20,15 @@
 		THREE.FrontSide
 		THREE.FrontSide
 		THREE.BackSide
 		THREE.BackSide
 		THREE.DoubleSide
 		THREE.DoubleSide
+		THREE.TwoPassDoubleSide
 		</code>
 		</code>
 		<p>
 		<p>
 			定义了哪一边的面将会被渲染 —— 正面,或是反面,还是两个面都渲染。
 			定义了哪一边的面将会被渲染 —— 正面,或是反面,还是两个面都渲染。
 			默认值是[page:Constant FrontSide](只渲染正面)。
 			默认值是[page:Constant FrontSide](只渲染正面)。
 		</p>
 		</p>
+		<p>
+		[page:Materials TwoPassDoubleSide] will renderer double-sided transparent materials in two passes in back-front order to mitigate transparency artifacts.
+		</p>
 
 
 		<h2>混合模式</h2>
 		<h2>混合模式</h2>
 		<code>
 		<code>

+ 4 - 4
docs/api/zh/core/GLBufferAttribute.html

@@ -23,9 +23,9 @@
 		<h2>Constructor</h2>
 		<h2>Constructor</h2>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<h3>[name]( [param:WebGLBuffer buffer], [param:GLenum type], [param:Integer itemSize], [param:Integer elementSize], [param:Integer count] )</h3>
 		<p>
 		<p>
-		*buffer* — Must be a <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a>.
+		*buffer* — Must be a [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer].
 		<br />
 		<br />
-		*type* — One of <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Types</a>.
+		*type* — One of [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Types].
 		<br />
 		<br />
 		*itemSize* — The number of values of the array that should be associated with
 		*itemSize* — The number of values of the array that should be associated with
 		a particular vertex. For instance, if this
 		a particular vertex. For instance, if this
@@ -48,7 +48,7 @@
 
 
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<h3>[property:WebGLBuffer buffer]</h3>
 		<p>
 		<p>
-			The current <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer" target="_blank">WebGLBuffer</a> instance.
+			The current [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer WebGLBuffer] instance.
 		</p>
 		</p>
 
 
 		<h3>[property:Integer count]</h3>
 		<h3>[property:Integer count]</h3>
@@ -71,7 +71,7 @@
 
 
 		<h3>[property:GLenum type]</h3>
 		<h3>[property:GLenum type]</h3>
 		<p>
 		<p>
-			A <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types" target="_blank">WebGL Data Type</a>
+			A [link:https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types WebGL Data Type]
 			describing the underlying VBO contents.
 			describing the underlying VBO contents.
 		</p>
 		</p>
 		<p>
 		<p>

+ 7 - 0
docs/api/zh/core/Object3D.html

@@ -263,6 +263,13 @@
 		从该对象开始,搜索一个对象及其子级,返回第一个给定的属性中包含有匹配的值的子对象。
 		从该对象开始,搜索一个对象及其子级,返回第一个给定的属性中包含有匹配的值的子对象。
 	</p>
 	</p>
 
 
+	<h3>[method:Object3D getObjectsByProperty]( [param:String name], [param:Any value] )</h3>
+	<p>
+		name —— 将要用于查找的属性的名称。<br />
+		value —— 给定的属性的值。 <br /><br />
+		从此对象开始,搜索一个对象及其子对象,返回包含给定属性的匹配值的所有子对象。
+	</p>
+
 	<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 	<h3>[method:Vector3 getWorldPosition]( [param:Vector3 target] )</h3>
 	<p>
 	<p>
 		[page:Vector3 target] — 结果将被复制到这个Vector3中。<br /><br />
 		[page:Vector3 target] — 结果将被复制到这个Vector3中。<br /><br />

+ 1 - 1
docs/api/zh/geometries/CircleGeometry.html

@@ -45,7 +45,7 @@
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<h3>[name]([param:Float radius], [param:Integer segments], [param:Float thetaStart], [param:Float thetaLength])</h3>
 		<p>
 		<p>
 		radius — 圆形的半径,默认值为1<br />
 		radius — 圆形的半径,默认值为1<br />
-		segments — 分段(三角面)的数量,最小值为3,默认值为8。<br />
+		segments — 分段(三角面)的数量,最小值为3,默认值为32。<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />
 		thetaLength — 圆形扇区的中心角,通常被称为“θ”(西塔)。默认值是2*Pi,这使其成为一个完整的圆。
 		thetaLength — 圆形扇区的中心角,通常被称为“θ”(西塔)。默认值是2*Pi,这使其成为一个完整的圆。
 		</p>
 		</p>

+ 1 - 1
docs/api/zh/geometries/ConeGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 		radius — 圆锥底部的半径,默认值为1。<br />
 		radius — 圆锥底部的半径,默认值为1。<br />
 		height — 圆锥的高度,默认值为1。<br />
 		height — 圆锥的高度,默认值为1。<br />
-		radialSegments —  圆锥侧面周围的分段数,默认为8。<br />
+		radialSegments —  圆锥侧面周围的分段数,默认为32。<br />
 		heightSegments — 圆锥侧面沿着其高度的分段数,默认值为1。<br />
 		heightSegments — 圆锥侧面沿着其高度的分段数,默认值为1。<br />
 		openEnded — 一个Boolean值,指明该圆锥的底面是开放的还是封顶的。默认值为false,即其底面默认是封顶的。<br />
 		openEnded — 一个Boolean值,指明该圆锥的底面是开放的还是封顶的。默认值为false,即其底面默认是封顶的。<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />

+ 1 - 1
docs/api/zh/geometries/CylinderGeometry.html

@@ -46,7 +46,7 @@
 		radiusTop — 圆柱的顶部半径,默认值是1。<br />
 		radiusTop — 圆柱的顶部半径,默认值是1。<br />
 		radiusBottom — 圆柱的底部半径,默认值是1。<br />
 		radiusBottom — 圆柱的底部半径,默认值是1。<br />
 		height — 圆柱的高度,默认值是1。<br />
 		height — 圆柱的高度,默认值是1。<br />
-		radialSegments —  圆柱侧面周围的分段数,默认为8。<br />
+		radialSegments —  圆柱侧面周围的分段数,默认为32。<br />
 		heightSegments — 圆柱侧面沿着其高度的分段数,默认值为1。<br />
 		heightSegments — 圆柱侧面沿着其高度的分段数,默认值为1。<br />
 		openEnded — 一个Boolean值,指明该圆锥的底面是开放的还是封顶的。默认值为false,即其底面默认是封顶的。<br />
 		openEnded — 一个Boolean值,指明该圆锥的底面是开放的还是封顶的。默认值为false,即其底面默认是封顶的。<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />
 		thetaStart — 第一个分段的起始角度,默认为0。(three o'clock position)<br />

+ 1 - 1
docs/api/zh/geometries/RingGeometry.html

@@ -45,7 +45,7 @@
 		<p>
 		<p>
 			innerRadius — 内部半径,默认值为0.5。 <br />
 			innerRadius — 内部半径,默认值为0.5。 <br />
 			outerRadius — 外部半径,默认值为1。<br />
 			outerRadius — 外部半径,默认值为1。<br />
-			thetaSegments — 圆环的分段数。这个值越大,圆环就越圆。最小值为3,默认值为8。<br />
+			thetaSegments — 圆环的分段数。这个值越大,圆环就越圆。最小值为3,默认值为32。<br />
 			phiSegments — 最小值为1,默认值为8。<br />
 			phiSegments — 最小值为1,默认值为8。<br />
 			thetaStart — 起始角度,默认值为0。<br />
 			thetaStart — 起始角度,默认值为0。<br />
 			thetaLength — 圆心角,默认值为Math.PI * 2。
 			thetaLength — 圆心角,默认值为Math.PI * 2。

+ 2 - 2
docs/api/zh/geometries/TorusGeometry.html

@@ -45,8 +45,8 @@
 		<p>
 		<p>
 				radius - 环面的半径,从环面的中心到管道横截面的中心。默认值是1。<br />
 				radius - 环面的半径,从环面的中心到管道横截面的中心。默认值是1。<br />
 				tube — 管道的半径,默认值为0.4。<br />
 				tube — 管道的半径,默认值为0.4。<br />
-				radialSegments — 管道横截面的分段数,默认值为8。<br />
-				tubularSegments — 管道的分段数,默认值为6。<br />
+				radialSegments — 管道横截面的分段数,默认值为12。<br />
+				tubularSegments — 管道的分段数,默认值为48。<br />
 				arc — 圆环的圆心角(单位是弧度),默认值为Math.PI * 2。
 				arc — 圆环的圆心角(单位是弧度),默认值为Math.PI * 2。
 				</p>
 				</p>
 
 

+ 7 - 0
docs/api/zh/lights/PointLight.html

@@ -52,6 +52,13 @@
 			公共属性请查看基类[page:Light Light]。
 			公共属性请查看基类[page:Light Light]。
 		</p>
 		</p>
 
 
+		<h3>[property:Boolean castShadow]</h3>
+		<p>
+			If set to `true` light will cast dynamic shadows. *Warning*: This is expensive and
+			requires tweaking to get shadows looking right. See the [page:PointLightShadow] for details.
+			The default is `false`.
+		</p>
+
 		<h3>[property:Float decay]</h3>
 		<h3>[property:Float decay]</h3>
 		<p>
 		<p>
 			The amount the light dims along the distance of the light. Default is `2`.<br />
 			The amount the light dims along the distance of the light. Default is `2`.<br />

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

@@ -226,7 +226,7 @@
 
 
 <h3>[property:Integer side]</h3>
 <h3>[property:Integer side]</h3>
 <p> 定义将要渲染哪一面 - 正面,背面或两者。
 <p> 定义将要渲染哪一面 - 正面,背面或两者。
-	默认为[page:Materials THREE.FrontSide]。其他选项有[page:Materials THREE.BackSide]和[page:Materials THREE.DoubleSide]。
+	默认为[page:Materials THREE.FrontSide]。其他选项有[page:Materials THREE.BackSide], [page:Materials THREE.DoubleSide]  [page:Materials THREE.TwoPassDoubleSide]。
 </p>
 </p>
 
 
 <h3>[property:Boolean toneMapped]</h3>
 <h3>[property:Boolean toneMapped]</h3>

+ 1 - 1
docs/examples/en/animations/MMDPhysics.html

@@ -10,7 +10,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc"> A Physics handler for <a href="https://sites.google.com/view/evpvp/">`MMD`</a> resources. <br /><br />
 		<p class="desc"> A Physics handler for <a href="https://sites.google.com/view/evpvp/">`MMD`</a> resources. <br /><br />
-		[name] calculates Physics for model loaded by [page:MMDLoader] with <a href="https://github.com/kripken/ammo.js/">ammo.js</a> (Bullet-based JavaScript Physics engine).
+		[name] calculates Physics for model loaded by [page:MMDLoader] with [link:https://github.com/kripken/ammo.js/ ammo.js] (Bullet-based JavaScript Physics engine).
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>

+ 2 - 2
docs/examples/en/exporters/ColladaExporter.html

@@ -12,7 +12,7 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for `Collada`.
 		An exporter for `Collada`.
 		<br /><br />
 		<br /><br />
-		<a href="https://www.khronos.org/collada/" target="_blank">Collada</a> is a
+		[link:https://www.khronos.org/collada/ Collada] is a
 		file format for robust representation of scenes, materials, animations, and other 3D content in an xml format.
 		file format for robust representation of scenes, materials, animations, and other 3D content in an xml format.
 		This exporter only supports exporting geometry, materials, textures, and scene hierarchy.
 		This exporter only supports exporting geometry, materials, textures, and scene hierarchy.
 		</p>
 		</p>
@@ -23,7 +23,7 @@
 		// Instantiate an exporter
 		// Instantiate an exporter
 		const exporter = new ColladaExporter();
 		const exporter = new ColladaExporter();
 
 
-		// Parse the input and generate the ply output
+		// Parse the input and generate the collada ( .dae ) output
 		const data = exporter.parse( scene, null, options );
 		const data = exporter.parse( scene, null, options );
 		downloadFile( data );
 		downloadFile( data );
 		</code>
 		</code>

+ 2 - 2
docs/examples/en/exporters/EXRExporter.html

@@ -12,8 +12,8 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for `EXR`.
 		An exporter for `EXR`.
 		<br /><br />
 		<br /><br />
-		<a href="https://www.openexr.com/" target="_blank">EXR</a> ( Extended Dynamic Range) is an
-		<a href="https://github.com/AcademySoftwareFoundation/openexr" target="_blank">open format specification</a>
+		[link:https://www.openexr.com/ EXR] ( Extended Dynamic Range) is an
+		[link:https://github.com/AcademySoftwareFoundation/openexr open format specification]
 		for professional-grade image storage format of the motion picture industry. The purpose of
 		for professional-grade image storage format of the motion picture industry. The purpose of
 		format is to accurately and efficiently represent high-dynamic-range scene-linear image data
 		format is to accurately and efficiently represent high-dynamic-range scene-linear image data
 		and associated metadata. The library is widely used in host application software where accuracy
 		and associated metadata. The library is widely used in host application software where accuracy

+ 2 - 2
docs/examples/en/exporters/GLTFExporter.html

@@ -12,8 +12,8 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for `glTF` 2.0.
 		An exporter for `glTF` 2.0.
 		<br /><br />
 		<br /><br />
-		<a href="https://www.khronos.org/gltf" target="_blank">glTF</a> (GL Transmission Format) is an
-		<a href="https://github.com/KhronosGroup/glTF/tree/master/specification/2.0" target="_blank">open format specification</a>
+		[link:https://www.khronos.org/gltf glTF] (GL Transmission Format) is an
+		[link:https://github.com/KhronosGroup/glTF/tree/master/specification/2.0 open format specification]
 		for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
 		for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
 		or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
 		or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
 		data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,
 		data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,

+ 1 - 1
docs/examples/en/exporters/OBJExporter.html

@@ -10,7 +10,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">
 		<p class="desc">
-		An exporter for the <a href="https://en.wikipedia.org/wiki/Wavefront_.obj_file" target="_blank">OBJ</a> file format.
+		An exporter for the [link:https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ] file format.
 		</p>
 		</p>
 		<p class="desc">
 		<p class="desc">
 		[name] is not able to export material data into MTL files so only geometry data are supported.
 		[name] is not able to export material data into MTL files so only geometry data are supported.

+ 1 - 1
docs/examples/en/exporters/PLYExporter.html

@@ -12,7 +12,7 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for `PLY`.
 		An exporter for `PLY`.
 		<br /><br />
 		<br /><br />
-		<a href="https://en.wikipedia.org/wiki/PLY_(file_format)" target="_blank">PLY</a> (Polygon or Stanford Triangle Format) is a
+		[link:https://en.wikipedia.org/wiki/PLY_(file_format) PLY] (Polygon or Stanford Triangle Format) is a
 		file format for efficient delivery and loading of simple, static 3D content in a dense format.
 		file format for efficient delivery and loading of simple, static 3D content in a dense format.
 		Both binary and ascii formats are supported. PLY can store vertex positions, colors, normals and
 		Both binary and ascii formats are supported. PLY can store vertex positions, colors, normals and
 		uv coordinates. No textures or texture references are saved.
 		uv coordinates. No textures or texture references are saved.

+ 2 - 2
docs/examples/en/loaders/3DMLoader.html

@@ -14,7 +14,7 @@
 			A loader for Rhinoceros 3d files and objects. <br /><br />
 			A loader for Rhinoceros 3d files and objects. <br /><br />
 			Rhinoceros is a 3D modeler used to create, edit, analyze, document, render, animate, and translate NURBS curves, surfaces, breps, extrusions, point clouds, as well as polygon meshes and SubD objects.
 			Rhinoceros is a 3D modeler used to create, edit, analyze, document, render, animate, and translate NURBS curves, surfaces, breps, extrusions, point clouds, as well as polygon meshes and SubD objects.
 			[link:https://github.com/mcneel/rhino3dm rhino3dm.js] is compiled to WebAssembly from the open source geometry library [link:https://github.com/mcneel/opennurbs openNURBS].
 			[link:https://github.com/mcneel/rhino3dm rhino3dm.js] is compiled to WebAssembly from the open source geometry library [link:https://github.com/mcneel/opennurbs openNURBS].
-			The loader currently uses <a href="https://www.npmjs.com/package/rhino3dm/v/0.15.0-beta">rhino3dm.js 0.15.0-beta.</a>
+			The loader currently uses [link:https://www.npmjs.com/package/rhino3dm/v/0.15.0-beta rhino3dm.js 0.15.0-beta.]
 		</p>
 		</p>
 
 
 		<h2>Supported Conversions</h2>
 		<h2>Supported Conversions</h2>
@@ -180,7 +180,7 @@
 		</p>
 		</p>
 		<p>
 		<p>
 		Parse a File3dm ArrayBuffer and call the `onLoad` function with the resulting Object3d.
 		Parse a File3dm ArrayBuffer and call the `onLoad` function with the resulting Object3d.
-		See <a href="https://github.com/mcneel/rhino-developer-samples/tree/7/rhino3dm/js/SampleParse3dmObjects">this example</a> for further reference.
+		See [link:https://github.com/mcneel/rhino-developer-samples/tree/7/rhino3dm/js/SampleParse3dmObjects this example] for further reference.
 		</p>
 		</p>
 
 
 		<code>
 		<code>

+ 1 - 1
docs/examples/en/loaders/DRACOLoader.html

@@ -38,7 +38,7 @@
 		const loader = new DRACOLoader();
 		const loader = new DRACOLoader();
 
 
 		// Specify path to a folder containing WASM/JS decoding libraries.
 		// Specify path to a folder containing WASM/JS decoding libraries.
-		loader.setDecoderPath( '/examples/js/libs/draco/' );
+		loader.setDecoderPath( '/examples/jsm/libs/draco/' );
 
 
 		// Optional: Pre-fetch Draco WASM/JS module.
 		// Optional: Pre-fetch Draco WASM/JS module.
 		loader.preload();
 		loader.preload();

+ 2 - 2
docs/examples/en/loaders/GLTFLoader.html

@@ -83,7 +83,7 @@
 
 
 		// Optional: Provide a DRACOLoader instance to decode compressed mesh data
 		// Optional: Provide a DRACOLoader instance to decode compressed mesh data
 		const dracoLoader = new DRACOLoader();
 		const dracoLoader = new DRACOLoader();
-		dracoLoader.setDecoderPath( '/examples/js/libs/draco/' );
+		dracoLoader.setDecoderPath( '/examples/jsm/libs/draco/' );
 		loader.setDRACOLoader( dracoLoader );
 		loader.setDRACOLoader( dracoLoader );
 
 
 		// Load a glTF resource
 		// Load a glTF resource
@@ -211,7 +211,7 @@
 		[page:DRACOLoader dracoLoader] — Instance of THREE.DRACOLoader, to be used for decoding assets compressed with the KHR_draco_mesh_compression extension.
 		[page:DRACOLoader dracoLoader] — Instance of THREE.DRACOLoader, to be used for decoding assets compressed with the KHR_draco_mesh_compression extension.
 		</p>
 		</p>
 		<p>
 		<p>
-		Refer to this [link:https://github.com/mrdoob/three.js/tree/dev/examples/js/libs/draco#readme readme] for the details of Draco and its decoder.
+		Refer to this [link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm/libs/draco#readme readme] for the details of Draco and its decoder.
 		</p>
 		</p>
 
 
 		<h3>[method:this setKTX2Loader]( [param:KTX2Loader ktx2Loader] )</h3>
 		<h3>[method:this setKTX2Loader]( [param:KTX2Loader ktx2Loader] )</h3>

+ 3 - 3
docs/examples/en/loaders/KTX2Loader.html

@@ -23,7 +23,7 @@
 		<p>
 		<p>
 			This loader parses the KTX 2.0 container and transcodes to a supported GPU compressed
 			This loader parses the KTX 2.0 container and transcodes to a supported GPU compressed
 			texture format. The required WASM transcoder and JS wrapper are available from the
 			texture format. The required WASM transcoder and JS wrapper are available from the
-			[link:https://github.com/mrdoob/three.js/tree/dev/examples/js/libs/basis examples/js/libs/basis]
+			[link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm/libs/basis examples/jsm/libs/basis]
 			directory.
 			directory.
 		</p>
 		</p>
 
 
@@ -31,7 +31,7 @@
 
 
 		<code>
 		<code>
 		var ktx2Loader = new THREE.KTX2Loader();
 		var ktx2Loader = new THREE.KTX2Loader();
-		ktx2Loader.setTranscoderPath( 'examples/js/libs/basis/' );
+		ktx2Loader.setTranscoderPath( 'examples/jsm/libs/basis/' );
 		ktx2Loader.detectSupport( renderer );
 		ktx2Loader.detectSupport( renderer );
 		ktx2Loader.load( 'diffuse.ktx2', function ( texture ) {
 		ktx2Loader.load( 'diffuse.ktx2', function ( texture ) {
 
 
@@ -106,7 +106,7 @@
 		</p>
 		</p>
 		<p>
 		<p>
 		The WASM transcoder and JS wrapper are available from the
 		The WASM transcoder and JS wrapper are available from the
-		[link:https://github.com/mrdoob/three.js/tree/dev/examples/js/libs/basis examples/js/libs/basis]
+		[link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm/libs/basis examples/jsm/libs/basis]
 		directory.
 		directory.
 		</p>
 		</p>
 
 

+ 1 - 1
docs/examples/en/loaders/OBJLoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a `.obj` resource.<br />
 		<p class="desc">A loader for loading a `.obj` resource.<br />
-		The <a href="https://en.wikipedia.org/wiki/Wavefront_.obj_file">OBJ file format</a> is a simple data-format
+		The [link:https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ file format] is a simple data-format
 		that represents 3D geometry in a human readable format as the position of each vertex, the UV position of
 		that represents 3D geometry in a human readable format as the position of each vertex, the UV position of
 		each texture coordinate vertex, vertex normals, and the faces that make each polygon defined as a list of
 		each texture coordinate vertex, vertex normals, and the faces that make each polygon defined as a list of
 		vertices, and texture vertices.
 		vertices, and texture vertices.

+ 1 - 1
docs/examples/en/loaders/PDBLoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a `.pdb` resource.<br>
 		<p class="desc">A loader for loading a `.pdb` resource.<br>
-		The <a href="http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format)">Protein Data Bank</a> file format is a textual file describing the three-dimensional structures of molecules.
+		The [link:http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format) Protein Data Bank] file format is a textual file describing the three-dimensional structures of molecules.
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>

+ 1 - 1
docs/examples/en/loaders/PRWMLoader.html

@@ -16,7 +16,7 @@
 		JavaScript and WebGL with a strong focus on fast parsing (from 1ms to 0.1ms in Chrome 59
 		JavaScript and WebGL with a strong focus on fast parsing (from 1ms to 0.1ms in Chrome 59
 		on a MBP Late 2013). The parsing of PRWM file is especially fast when the endianness of the file is
 		on a MBP Late 2013). The parsing of PRWM file is especially fast when the endianness of the file is
 		the same as the endianness of the client platform. More information
 		the same as the endianness of the client platform. More information
-		on this <a href="https://github.com/kchapelier/PRWM">here</a>.
+		on this [link:https://github.com/kchapelier/PRWM here].
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>

+ 1 - 1
docs/examples/en/loaders/SVGLoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a `.svg` resource.<br >
 		<p class="desc">A loader for loading a `.svg` resource.<br >
-		<a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">Scalable Vector Graphics</a> is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
+		[link:https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>

+ 1 - 1
docs/examples/en/loaders/TGALoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a `.tga` resource. <br />
 		<p class="desc">A loader for loading a `.tga` resource. <br />
-		<a href="https://en.wikipedia.org/wiki/Truevision_TGA">TGA</a> is a raster graphics, image file format.
+		[link:https://en.wikipedia.org/wiki/Truevision_TGA TGA] is a raster graphics, image file format.
 		</p>
 		</p>
 
 
 		<h2>Code Example</h2>
 		<h2>Code Example</h2>

+ 7 - 7
docs/examples/en/math/convexhull/VertexList.html

@@ -42,10 +42,10 @@
 		<h3>[method:VertexNode last]()</h3>
 		<h3>[method:VertexNode last]()</h3>
 		<p>Returns the tail reference.</p>
 		<p>Returns the tail reference.</p>
 
 
-		<h3>[[method:this clear]()</h3>
+		<h3>[method:this clear]()</h3>
 		<p>Clears the linked list.</p>
 		<p>Clears the linked list.</p>
 
 
-		<h3>[[method:this insertBefore]( [param:Vertex target], [param:Vertex vertex] )</h3>
+		<h3>[method:this insertBefore]( [param:Vertex target], [param:Vertex vertex] )</h3>
 		<p>
 		<p>
 			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
 			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
 			[page:Vertex vertex] - The vertex to insert.<br /><br />
 			[page:Vertex vertex] - The vertex to insert.<br /><br />
@@ -53,7 +53,7 @@
 			Inserts a vertex <strong>before</strong> a target vertex.
 			Inserts a vertex <strong>before</strong> a target vertex.
 		</p>
 		</p>
 
 
-		<h3>[[method:this insertAfter]( [param:Vertex target], [param:Vertex vertex] )</h3>
+		<h3>[method:this insertAfter]( [param:Vertex target], [param:Vertex vertex] )</h3>
 		<p>
 		<p>
 			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
 			[page:Vertex target] - The target vertex. It's assumed that this vertex belongs to the linked list.<br />
 			[page:Vertex vertex] - The vertex to insert.<br /><br />
 			[page:Vertex vertex] - The vertex to insert.<br /><br />
@@ -61,28 +61,28 @@
 			Inserts a vertex <strong>after</strong> a target vertex.
 			Inserts a vertex <strong>after</strong> a target vertex.
 		</p>
 		</p>
 
 
-		<h3>[[method:this append]( [param:Vertex vertex] )</h3>
+		<h3>[method:this append]( [param:Vertex vertex] )</h3>
 		<p>
 		<p>
 			[page:Vertex vertex] - The vertex to append.<br /><br />
 			[page:Vertex vertex] - The vertex to append.<br /><br />
 
 
 			Appends a vertex to the end of the linked list.
 			Appends a vertex to the end of the linked list.
 		</p>
 		</p>
 
 
-		<h3>[[method:this appendChain]( [param:Vertex vertex] )</h3>
+		<h3>[method:this appendChain]( [param:Vertex vertex] )</h3>
 		<p>
 		<p>
 			[page:Vertex vertex] - The head vertex of a chain of vertices.<br /><br />
 			[page:Vertex vertex] - The head vertex of a chain of vertices.<br /><br />
 
 
 			Appends a chain of vertices where the given vertex is the head.
 			Appends a chain of vertices where the given vertex is the head.
 		</p>
 		</p>
 
 
-		<h3>[[method:this remove]( [param:Vertex vertex] )</h3>
+		<h3>[method:this remove]( [param:Vertex vertex] )</h3>
 		<p>
 		<p>
 			[page:Vertex vertex] - The vertex to remove.<br /><br />
 			[page:Vertex vertex] - The vertex to remove.<br /><br />
 
 
 			Removes a vertex from the linked list.
 			Removes a vertex from the linked list.
 		</p>
 		</p>
 
 
-		<h3>[[method:this removeSubList]( [param:Vertex a], [param:Vertex b] )</h3>
+		<h3>[method:this removeSubList]( [param:Vertex a], [param:Vertex b] )</h3>
 		<p>
 		<p>
 			[page:Vertex a] - The head of the sublist.<br />
 			[page:Vertex a] - The head of the sublist.<br />
 			[page:Vertex b] - The tail of the sublist.<br /><br />
 			[page:Vertex b] - The tail of the sublist.<br /><br />

+ 14 - 0
docs/examples/en/utils/SceneUtils.html

@@ -40,6 +40,20 @@
 		This is mostly useful for objects that need both a material and a wireframe implementation.
 		This is mostly useful for objects that need both a material and a wireframe implementation.
 		</p>
 		</p>
 
 
+    <h3>[method:T reduceVertices]( [param:Object3D object], [param:function func], [param:T initialValue] )</h3>
+		<p>
+		object -- The object to traverse (uses [page:Object3D.traverseVisible traverseVisible] internally). <br />
+		func -- The binary function applied for the reduction. Must have the signature: (value: T, vertex: Vector3): T. <br />
+    initialValue -- The value to initialize the reduction with. This is required
+    as it also sets the reduction type, which is not required to be Vector3.
+		</p>
+		<p>
+		Akin to Array.prototype.reduce(), but operating on the vertices of all the
+		visible descendant objects, in world space. Additionally, it can operate as a
+		transform-reduce, returning a different type T than the Vector3 input. This
+		can be useful for e.g. fitting a viewing frustum to the scene.
+		</p>
+
 		<h3>[method:undefined sortInstancedMesh]( [param:InstancedMesh mesh], [param:Function compareFn] )</h3>
 		<h3>[method:undefined sortInstancedMesh]( [param:InstancedMesh mesh], [param:Function compareFn] )</h3>
 		<p>
 		<p>
 		mesh -- InstancedMesh in which instances will be sorted. <br />
 		mesh -- InstancedMesh in which instances will be sorted. <br />

+ 1 - 1
docs/examples/zh/animations/MMDPhysics.html

@@ -10,7 +10,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc"> A Physics handler for <a href="https://sites.google.com/view/evpvp/"><em>MMD</em></a> resources. <br /><br />
 		<p class="desc"> A Physics handler for <a href="https://sites.google.com/view/evpvp/"><em>MMD</em></a> resources. <br /><br />
-		[name] calculates Physics for model loaded by [page:MMDLoader] with <a href="https://github.com/kripken/ammo.js/">ammo.js</a> (Bullet-based JavaScript Physics engine).
+		[name] calculates Physics for model loaded by [page:MMDLoader] with [link:https://github.com/kripken/ammo.js/ ammo.js] (Bullet-based JavaScript Physics engine).
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>

+ 2 - 2
docs/examples/zh/exporters/ColladaExporter.html

@@ -12,7 +12,7 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for *Collada*.
 		An exporter for *Collada*.
 		<br /><br />
 		<br /><br />
-		<a href="https://www.khronos.org/collada/" target="_blank">Collada</a> is a
+		[link:https://www.khronos.org/collada/ Collada] is a
 		file format for robust representation of scenes, materials, animations, and other 3D content in an xml format.
 		file format for robust representation of scenes, materials, animations, and other 3D content in an xml format.
 		This exporter only supports exporting geometry, materials, textures, and scene hierarchy.
 		This exporter only supports exporting geometry, materials, textures, and scene hierarchy.
 		</p>
 		</p>
@@ -23,7 +23,7 @@
 		// Instantiate an exporter
 		// Instantiate an exporter
 		const exporter = new ColladaExporter();
 		const exporter = new ColladaExporter();
 
 
-		// Parse the input and generate the ply output
+		// Parse the input and generate the collada ( .dae ) output
 		const data = exporter.parse( scene, null, options );
 		const data = exporter.parse( scene, null, options );
 		downloadFile( data );
 		downloadFile( data );
 		</code>
 		</code>

+ 2 - 2
docs/examples/zh/exporters/GLTFExporter.html

@@ -12,8 +12,8 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for *glTF* 2.0.
 		An exporter for *glTF* 2.0.
 		<br /><br />
 		<br /><br />
-		<a href="https://www.khronos.org/gltf" target="_blank">glTF</a> (GL Transmission Format) is an
-		<a href="https://github.com/KhronosGroup/glTF/tree/master/specification/2.0" target="_blank">open format specification</a>
+		[link:https://www.khronos.org/gltf glTF] (GL Transmission Format) is an
+		[link:https://github.com/KhronosGroup/glTF/tree/master/specification/2.0 open format specification]
 		for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
 		for efficient delivery and loading of 3D content. Assets may be provided either in JSON (.gltf)
 		or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
 		or binary (.glb) format. External files store textures (.jpg, .png) and additional binary
 		data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,
 		data (.bin). A glTF asset may deliver one or more scenes, including meshes, materials,

+ 1 - 1
docs/examples/zh/exporters/PLYExporter.html

@@ -12,7 +12,7 @@
 		<p class="desc">
 		<p class="desc">
 		An exporter for *PLY*.
 		An exporter for *PLY*.
 		<br /><br />
 		<br /><br />
-		<a href="https://en.wikipedia.org/wiki/PLY_(file_format)" target="_blank">PLY</a> (Polygon or Stanford Triangle Format) is a
+		[link:https://en.wikipedia.org/wiki/PLY_(file_format) PLY] (Polygon or Stanford Triangle Format) is a
 		file format for efficient delivery and loading of simple, static 3D content in a dense format.
 		file format for efficient delivery and loading of simple, static 3D content in a dense format.
 		Both binary and ascii formats are supported. PLY can store vertex positions, colors, normals and
 		Both binary and ascii formats are supported. PLY can store vertex positions, colors, normals and
 		uv coordinates. No textures or texture references are saved.
 		uv coordinates. No textures or texture references are saved.

+ 1 - 1
docs/examples/zh/loaders/DRACOLoader.html

@@ -33,7 +33,7 @@
 		const loader = new DRACOLoader();
 		const loader = new DRACOLoader();
 
 
 		// Specify path to a folder containing WASM/JS decoding libraries.
 		// Specify path to a folder containing WASM/JS decoding libraries.
-		loader.setDecoderPath( '/examples/js/libs/draco/' );
+		loader.setDecoderPath( '/examples/jsm/libs/draco/' );
 
 
 		// Optional: Pre-fetch Draco WASM/JS module.
 		// Optional: Pre-fetch Draco WASM/JS module.
 		loader.preload();
 		loader.preload();

+ 2 - 2
docs/examples/zh/loaders/GLTFLoader.html

@@ -82,7 +82,7 @@
 
 
 		// Optional: Provide a DRACOLoader instance to decode compressed mesh data
 		// Optional: Provide a DRACOLoader instance to decode compressed mesh data
 		const dracoLoader = new DRACOLoader();
 		const dracoLoader = new DRACOLoader();
-		dracoLoader.setDecoderPath( '/examples/js/libs/draco/' );
+		dracoLoader.setDecoderPath( '/examples/jsm/libs/draco/' );
 		loader.setDRACOLoader( dracoLoader );
 		loader.setDRACOLoader( dracoLoader );
 
 
 		// Load a glTF resource
 		// Load a glTF resource
@@ -206,7 +206,7 @@
 		[page:DRACOLoader dracoLoader] — THREE.DRACOLoader的实例,用于解码使用KHR_draco_mesh_compression扩展压缩过的文件。
 		[page:DRACOLoader dracoLoader] — THREE.DRACOLoader的实例,用于解码使用KHR_draco_mesh_compression扩展压缩过的文件。
 		</p>
 		</p>
 		<p>
 		<p>
-		请参阅[link:https://github.com/mrdoob/three.js/tree/dev/examples/js/libs/draco#readme readme]来了解Draco及其解码器的详细信息。
+		请参阅[link:https://github.com/mrdoob/three.js/tree/dev/examples/jsm/libs/draco#readme readme]来了解Draco及其解码器的详细信息。
 		</p>
 		</p>
 
 
 		<h3>[method:undefined parse]( [param:ArrayBuffer data], [param:String path], [param:Function onLoad], [param:Function onError] )</h3>
 		<h3>[method:undefined parse]( [param:ArrayBuffer data], [param:String path], [param:Function onLoad], [param:Function onError] )</h3>

+ 1 - 1
docs/examples/zh/loaders/OBJLoader.html

@@ -12,7 +12,7 @@
 		<h1>OBJ加载器([name])</h1>
 		<h1>OBJ加载器([name])</h1>
 
 
 		<p class="desc">用于加载 <em>.obj</em> 资源的加载器。<br />
 		<p class="desc">用于加载 <em>.obj</em> 资源的加载器。<br />
-		<a href="https://en.wikipedia.org/wiki/Wavefront_.obj_file">OBJ 文件格式</a>是一种简单的数据格式,
+		[link:https://en.wikipedia.org/wiki/Wavefront_.obj_file OBJ 文件格式]是一种简单的数据格式,
 		这种格式以人类可读的形式来表示3D几何体,即每个顶点的位置、每个纹理坐标顶点的UV位置、顶点法线、
 		这种格式以人类可读的形式来表示3D几何体,即每个顶点的位置、每个纹理坐标顶点的UV位置、顶点法线、
 		将使每个多边形定义为顶点列表的面以及纹理顶点。
 		将使每个多边形定义为顶点列表的面以及纹理顶点。
 		</p>
 		</p>

+ 1 - 1
docs/examples/zh/loaders/PDBLoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a <em>.pdb</em> resource.<br>
 		<p class="desc">A loader for loading a <em>.pdb</em> resource.<br>
-		The <a href="http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format)">Protein Data Bank</a> file format is a textual file describing the three-dimensional structures of molecules.
+		The [link:http://en.wikipedia.org/wiki/Protein_Data_Bank_(file_format) Protein Data Bank] file format is a textual file describing the three-dimensional structures of molecules.
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>

+ 1 - 1
docs/examples/zh/loaders/PRWMLoader.html

@@ -16,7 +16,7 @@
 		JavaScript and WebGL with a strong focus on fast parsing (from 1ms to 0.1ms in Chrome 59
 		JavaScript and WebGL with a strong focus on fast parsing (from 1ms to 0.1ms in Chrome 59
 		on a MBP Late 2013). The parsing of PRWM file is especially fast when the endianness of the file is
 		on a MBP Late 2013). The parsing of PRWM file is especially fast when the endianness of the file is
 		the same as the endianness of the client platform. More information
 		the same as the endianness of the client platform. More information
-		on this <a href="https://github.com/kchapelier/PRWM">here</a>.
+		on this [link:https://github.com/kchapelier/PRWM here].
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>

+ 1 - 1
docs/examples/zh/loaders/SVGLoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a <em>.svg</em> resource.<br >
 		<p class="desc">A loader for loading a <em>.svg</em> resource.<br >
-		<a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">Scalable Vector Graphics</a> is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
+		[link:https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Scalable Vector Graphics] is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation.
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>

+ 1 - 1
docs/examples/zh/loaders/TGALoader.html

@@ -12,7 +12,7 @@
 		<h1>[name]</h1>
 		<h1>[name]</h1>
 
 
 		<p class="desc">A loader for loading a <em>.tga</em> resource. <br />
 		<p class="desc">A loader for loading a <em>.tga</em> resource. <br />
-		<a href="https://en.wikipedia.org/wiki/Truevision_TGA">TGA</a> is a raster graphics, image file format.
+		[link:https://en.wikipedia.org/wiki/Truevision_TGA TGA] is a raster graphics, image file format.
 		</p>
 		</p>
 
 
 		<h2>代码示例</h2>
 		<h2>代码示例</h2>

+ 19 - 3
docs/index.html

@@ -488,16 +488,32 @@
 			// First separate the member (if existing) from the page name,
 			// First separate the member (if existing) from the page name,
 			// then identify the subpage's URL and set it as URL fragment (re-adding the member)
 			// then identify the subpage's URL and set it as URL fragment (re-adding the member)
 
 
+			const pageURL = getPageURL( pageName );
+
+			if ( pageURL ) {
+
+				window.location.hash = pageURL;
+
+				createNewIframe();
+
+			}
+
+		}
+
+		function getPageURL( pageName ) {
+
 			const splitPageName = decomposePageName( pageName, '.', '.' );
 			const splitPageName = decomposePageName( pageName, '.', '.' );
 
 
 			const currentProperties = pageProperties[ splitPageName[ 0 ] ];
 			const currentProperties = pageProperties[ splitPageName[ 0 ] ];
 
 
 			if ( currentProperties ) {
 			if ( currentProperties ) {
 
 
-				window.location.hash = currentProperties.pageURL + splitPageName[ 1 ];
-
-				createNewIframe();
+				return currentProperties.pageURL + splitPageName[ 1 ];
+		
+			} else {
 
 
+				return null;
+		
 			}
 			}
 
 
 		}
 		}

+ 3 - 3
docs/manual/ar/buildTools/Testing-with-NPM.html

@@ -123,7 +123,7 @@ $ npm install three --save-dev
 							<code>
 							<code>
  $ npm install [email protected] --save
  $ npm install [email protected] --save
 							</code>
 							</code>
-							(0.84.0 في هذا المثال). - حفظ يجعل هذا تبعية لهذا المشروع ، بدلاً من dev تبعية. انظر المستندات هنا [link:https://docs.npmjs.com/cli/v8/configuring-npm/package-json here] لمزيد من المعلومات.
+							(0.84.0 في هذا المثال). - حفظ يجعل هذا تبعية لهذا المشروع ، بدلاً من dev تبعية. انظر المستندات [link:https://docs.npmjs.com/cli/v8/configuring-npm/package-json هنا] لمزيد من المعلومات.
 						</li>
 						</li>
 					</ul>
 					</ul>
 				</li>
 				</li>
@@ -173,12 +173,12 @@ The THREE object should be able to construct a Vector3 with default of x=0: 0ms
 				<li>
 				<li>
 					اكتب اختبارًا للسلوك المتوقع لشفرتك ، وضعه تحت test/.
 					اكتب اختبارًا للسلوك المتوقع لشفرتك ، وضعه تحت test/.
 					هنا مثال من مشروع حقيقي
 					هنا مثال من مشروع حقيقي
-					[link:https://github.com/air/encounter/blob/master/test/Physics-test.js Here].
+					[link:https://github.com/air/encounter/blob/master/test/Physics-test.js هنا].
 				</li>
 				</li>
 
 
 				<li>
 				<li>
 					قم بتصدير الكود الوظيفي الخاص بك بطريقة يمكن للعقدة js رؤيتها ، لاستخدامها مع طلب.
 					قم بتصدير الكود الوظيفي الخاص بك بطريقة يمكن للعقدة js رؤيتها ، لاستخدامها مع طلب.
-					شاهده هنا [link:https://github.com/air/encounter/blob/master/js/Physics.js here].
+					شاهده [link:https://github.com/air/encounter/blob/master/js/Physics.js هنا].
 				</li>
 				</li>
 
 
 				<li>
 				<li>

+ 2 - 2
docs/manual/ar/introduction/Useful-links.html

@@ -127,7 +127,7 @@
 
 
 	 <ul>
 	 <ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - مجموعة من الأمثلة باستخدام three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - مجموعة من الأمثلة باستخدام three.js r45.
@@ -139,7 +139,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] 	بواسطة [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] 	بواسطة [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  	بواسطة [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  	بواسطة [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - محرر مشاهد ،  تم دعم إصداراته حتى حوالي three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - محرر مشاهد ،  تم دعم إصداراته حتى حوالي three.js r50.

+ 1 - 1
docs/manual/en/introduction/Color-management.html

@@ -84,7 +84,7 @@
 			of achromatic values (like white or grey) depend on human perception, which in turn depends
 			of achromatic values (like white or grey) depend on human perception, which in turn depends
 			heavily on the context of the observer. A color space specifies its "white point" to balance
 			heavily on the context of the observer. A color space specifies its "white point" to balance
 			these needs. The white point defined by the sRGB color space is
 			these needs. The white point defined by the sRGB color space is
-			<a href="https://en.wikipedia.org/wiki/Illuminant_D65" target="_blank">D65</a>.
+			[link:https://en.wikipedia.org/wiki/Illuminant_D65 D65].
 		</li>
 		</li>
 		<li>
 		<li>
 			<b>Transfer functions:</b> After choosing the color gamut and a color model, we still need to
 			<b>Transfer functions:</b> After choosing the color gamut and a color model, we still need to

+ 2 - 2
docs/manual/en/introduction/Useful-links.html

@@ -140,7 +140,7 @@
 
 
 	<ul>
 	<ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
@@ -152,7 +152,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  by [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  by [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.

+ 5 - 5
docs/manual/fr/introduction/Color-management.html

@@ -84,7 +84,7 @@
 			des valeurs chromatiques (comme le blanc ou le gris) dépend de la perception humaine, qui dépend elle-même
 			des valeurs chromatiques (comme le blanc ou le gris) dépend de la perception humaine, qui dépend elle-même
 			fortement du contexte d'observation. Un espace colorimétrique spécifie son "point blanc" pour équilibrer
 			fortement du contexte d'observation. Un espace colorimétrique spécifie son "point blanc" pour équilibrer
 			ces besoins. Le point blanc définit par l'espace colorimétrique sRGB est
 			ces besoins. Le point blanc définit par l'espace colorimétrique sRGB est
-			<a href="https://en.wikipedia.org/wiki/Illuminant_D65" target="_blank">D65</a>.
+			[link:https://en.wikipedia.org/wiki/Illuminant_D65 D65].
 		</li>
 		</li>
 		<li>
 		<li>
 			<b>Fonctions de transfert:</b> Après avoir choisir la gamme de couleur et le modèle de couleur, il nous reste à toujours définir
 			<b>Fonctions de transfert:</b> Après avoir choisir la gamme de couleur et le modèle de couleur, il nous reste à toujours définir
@@ -155,7 +155,7 @@
 
 
 	<p>
 	<p>
 		Les couleurs fournies à three.js — par les sélecteurs de couleurs, les textures, les modèles 3D, et d'autres sources —
 		Les couleurs fournies à three.js — par les sélecteurs de couleurs, les textures, les modèles 3D, et d'autres sources —
-		ont toutes un espace colorimétrique associé. Celles qui ne sont pas déjà dans l'espace colorimétrique sRGB-Linéaire 
+		ont toutes un espace colorimétrique associé. Celles qui ne sont pas déjà dans l'espace colorimétrique sRGB-Linéaire
 		doivent-être converties, et les textures doivent recevoir les bonnes consignes de <i>texture.encoding</i>.
 		doivent-être converties, et les textures doivent recevoir les bonnes consignes de <i>texture.encoding</i>.
 		Certaines conversions (pour l'héxadecimal et les couleurs CSS en sRGB) peuvent être automatisées si
 		Certaines conversions (pour l'héxadecimal et les couleurs CSS en sRGB) peuvent être automatisées si
 		l'héritage de la gestion des couleurs est désactivé avant l'initialisation des couleurs:
 		l'héritage de la gestion des couleurs est désactivé avant l'initialisation des couleurs:
@@ -201,7 +201,7 @@ THREE.ColorManagement.legacyMode = false;
 	<h3>Espaces colorimétriques fonctionnels</h3>
 	<h3>Espaces colorimétriques fonctionnels</h3>
 
 
 	<p>
 	<p>
-		Le rendu, l'interpolation, et plusieurs autres opérations doivent être performées dans un espace colorimétrique 
+		Le rendu, l'interpolation, et plusieurs autres opérations doivent être performées dans un espace colorimétrique
 		au domaine ouvert, dans lequel les composantes RGB sont proportionnelles
 		au domaine ouvert, dans lequel les composantes RGB sont proportionnelles
 		à l'illumination physique. Dans three.js, l'espace colorimétrique est le sRGB-Linéaire.
 		à l'illumination physique. Dans three.js, l'espace colorimétrique est le sRGB-Linéaire.
 	</p>
 	</p>
@@ -225,7 +225,7 @@ renderer.outputEncoding = THREE.sRGBEncoding; // optional with post-processing
 		</li>
 		</li>
 		<li>
 		<li>
 			<b>Image:</b> Les couleurs envoyées à une image doivent utiliser l'espace colorimétrique approprié au
 			<b>Image:</b> Les couleurs envoyées à une image doivent utiliser l'espace colorimétrique approprié au
-			format et à l'utilisation. Les images entièrement rendues sur des textures au format PNG ou JPEG 
+			format et à l'utilisation. Les images entièrement rendues sur des textures au format PNG ou JPEG
 			utilisent généralement l'espace colorimétrique sRGB. Les images contenant de l'émission, des light maps, ou d'autres données
 			utilisent généralement l'espace colorimétrique sRGB. Les images contenant de l'émission, des light maps, ou d'autres données
 			qui ne sont pas restreintes à l'intervalle [0,1] utiliseront généralement l'espace colorimétrique sRGB à domaine ouvert,
 			qui ne sont pas restreintes à l'intervalle [0,1] utiliseront généralement l'espace colorimétrique sRGB à domaine ouvert,
 			et un format d'image compatible comme OpenEXR.
 			et un format d'image compatible comme OpenEXR.
@@ -298,7 +298,7 @@ renderer.outputEncoding = THREE.sRGBEncoding; // optional with post-processing
 	</p>
 	</p>
 
 
 	<p>
 	<p>
-		Un problème plus subtil peut se produire quand <i>à la fois</i> l'espace colorimétrique d'entrée et 
+		Un problème plus subtil peut se produire quand <i>à la fois</i> l'espace colorimétrique d'entrée et
 		l'espace colorimétrique de sortie sont incorrects — les niveaux de luminosité globaux peuvent être corrects, mais les couleurs peuvent changer
 		l'espace colorimétrique de sortie sont incorrects — les niveaux de luminosité globaux peuvent être corrects, mais les couleurs peuvent changer
 		d'une manière inattendue sous différentes lumières, ou des ombres peuvent sembler plus abruptes et moins lisses
 		d'une manière inattendue sous différentes lumières, ou des ombres peuvent sembler plus abruptes et moins lisses
 		que prévu. Ces deux erreurs assemblées ne forment pas une réussite, et il est important que
 		que prévu. Ces deux erreurs assemblées ne forment pas une réussite, et il est important que

+ 5 - 5
docs/manual/fr/introduction/Useful-links.html

@@ -11,10 +11,10 @@
 
 
 		<p class="desc">
 		<p class="desc">
 			Sur cette page vous trouverez un ensemble de liens qui pourraient vous êtres utiles dans votre apprentissage de three.js.<br />
 			Sur cette page vous trouverez un ensemble de liens qui pourraient vous êtres utiles dans votre apprentissage de three.js.<br />
-			Si vous souhaitez ajouter quelque chose ici, ou si vous pensez que quelque chose n'est plus 
+			Si vous souhaitez ajouter quelque chose ici, ou si vous pensez que quelque chose n'est plus
 			pertinant ou fonctionnel, n'hésitez pas à cliquer sur le bouton 'edit' en bas à droite de la page pour faire quelques modifications!<br /><br />
 			pertinant ou fonctionnel, n'hésitez pas à cliquer sur le bouton 'edit' en bas à droite de la page pour faire quelques modifications!<br /><br />
 
 
-			Notez également que three.js connaît un développement rapide, beaucoup de ces liens contiennent des informations qui sont 
+			Notez également que three.js connaît un développement rapide, beaucoup de ces liens contiennent des informations qui sont
 			dépassées - si quelque chose ne fonctionne pas comme vous l'attendiez, ou comme un de ces liens l'annonce,
 			dépassées - si quelque chose ne fonctionne pas comme vous l'attendiez, ou comme un de ces liens l'annonce,
 			jetez un oeil à la console du navigateur à la recherche d'erreurs ou de warnings. Regardez également la documentation appropriée.
 			jetez un oeil à la console du navigateur à la recherche d'erreurs ou de warnings. Regardez également la documentation appropriée.
 		</p>
 		</p>
@@ -134,13 +134,13 @@
 
 
 	<h2>Anciens Liens</h2>
 	<h2>Anciens Liens</h2>
 	<p>
 	<p>
-		Ces liens sont conservés pour des raisons d'historisation - vous pouvez les trouver encore utile, mais gardez à l'esprit qu'ils 
+		Ces liens sont conservés pour des raisons d'historisation - vous pouvez les trouver encore utile, mais gardez à l'esprit qu'ils
 		peuvent contenir des informations qui font référence à de très anciennes versions de three.js.
 		peuvent contenir des informations qui font référence à de très anciennes versions de three.js.
 	</p>
 	</p>
 
 
 	<ul>
 	<ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - une liste d'exemple utilisant three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - une liste d'exemple utilisant three.js r45.
@@ -152,7 +152,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] par [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] par [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  par [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  par [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - éditeur de scène, maintenu jusqu'à three.js r50 environ.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - éditeur de scène, maintenu jusqu'à three.js r50 environ.

+ 5 - 5
docs/manual/it/introduction/Useful-links.html

@@ -14,7 +14,7 @@
       Se trovi qualcosa che ti piacerebbe aggiungere a questa lista o se pensi che uno dei link qui sotto non sia rilevante o non funzioni,
       Se trovi qualcosa che ti piacerebbe aggiungere a questa lista o se pensi che uno dei link qui sotto non sia rilevante o non funzioni,
       sentiti libero di modificare la pagina cliccando sul bottone 'edit' in basso a destra.<br /><br />
       sentiti libero di modificare la pagina cliccando sul bottone 'edit' in basso a destra.<br /><br />
 
 
-      Considera anche che, essendo three.js in rapida crescita, molti di questi link conterranno informazioni non aggiornate - 
+      Considera anche che, essendo three.js in rapida crescita, molti di questi link conterranno informazioni non aggiornate -
       se qualcosa non funziona come ti aspetti o come uno di questi link dice che dovrebbe, controlla la console
       se qualcosa non funziona come ti aspetti o come uno di questi link dice che dovrebbe, controlla la console
       del browser per verificare la presenza di warning o errori. Controlla anche le pagine dei documenti pertinenti.
       del browser per verificare la presenza di warning o errori. Controlla anche le pagine dei documenti pertinenti.
 		</p>
 		</p>
@@ -93,7 +93,7 @@
 			</li>
 			</li>
 			<li>
 			<li>
 				[link:https://raw.githack.com/mrdoob/three.js/dev/examples/ Esempi three.js ufficiali del branch di dev]  -
 				[link:https://raw.githack.com/mrdoob/three.js/dev/examples/ Esempi three.js ufficiali del branch di dev]  -
-        Come sopra, tranne che questi usano il branch di dev di three.js, e vengono utilizzati per verificare 
+        Come sopra, tranne che questi usano il branch di dev di three.js, e vengono utilizzati per verificare
         che tutto funzioni mentre viene sviluppato three.js.
         che tutto funzioni mentre viene sviluppato three.js.
 			</li>
 			</li>
 		</ul>
 		</ul>
@@ -133,13 +133,13 @@
 
 
 	<h2>Vecchi Link</h2>
 	<h2>Vecchi Link</h2>
 	<p>
 	<p>
-    Questi link sono conservati per scopi storici - potresti trovarli utili, ma tieni presente che 
+    Questi link sono conservati per scopi storici - potresti trovarli utili, ma tieni presente che
     potrebbero contenere informazioni relative a versioni molto vecchie di three.js.
     potrebbero contenere informazioni relative a versioni molto vecchie di three.js.
 	</p>
 	</p>
 
 
 	<ul>
 	<ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - una collezione di esempi che utilizza la versione r45 di three.js.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - una collezione di esempi che utilizza la versione r45 di three.js.
@@ -151,7 +151,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] di [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] di [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a> di [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally] di [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - editor di scene, mantenuto fino alla versione r50 di three.js.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - editor di scene, mantenuto fino alla versione r50 di three.js.

+ 2 - 2
docs/manual/ja/introduction/Useful-links.html

@@ -135,7 +135,7 @@
 
 
 	 <ul>
 	 <ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
@@ -147,7 +147,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  by [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  by [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.

+ 2 - 2
docs/manual/ko/introduction/Useful-links.html

@@ -136,7 +136,7 @@
 
 
 	 <ul>
 	 <ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
@@ -148,7 +148,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  by [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  by [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.

+ 7 - 7
docs/manual/pt-br/introduction/Color-management.html

@@ -65,7 +65,7 @@
 	<figure class="float">
 	<figure class="float">
 		<img src="resources/srgb_gamut.png" alt="">
 		<img src="resources/srgb_gamut.png" alt="">
 		<figcaption>
 		<figcaption>
-			Cores sRGB e ponto branco (D65) exibidos no diagrama de referência cromaticidade CIE 1931. 
+			Cores sRGB e ponto branco (D65) exibidos no diagrama de referência cromaticidade CIE 1931.
 			A região colorida representa uma projeção 2D da gama sRGB, que é um volume 3D.
 			A região colorida representa uma projeção 2D da gama sRGB, que é um volume 3D.
 			Fonte: <a href="https://en.wikipedia.org/wiki/SRGB" target="_blank" rel="noopener">Wikipedia</a>
 			Fonte: <a href="https://en.wikipedia.org/wiki/SRGB" target="_blank" rel="noopener">Wikipedia</a>
 		</figcaption>
 		</figcaption>
@@ -79,12 +79,12 @@
 				capacidades dos dispositivos de exibição disponíveis. As cores são expressas como uma proporção das cores primárias.
 				capacidades dos dispositivos de exibição disponíveis. As cores são expressas como uma proporção das cores primárias.
 		</li>
 		</li>
 		<li>
 		<li>
-			<b>Ponto branco:</b> a maioria dos espaços de cores é projetada de forma que uma soma igualmente ponderada das 
+			<b>Ponto branco:</b> a maioria dos espaços de cores é projetada de forma que uma soma igualmente ponderada das
 			primárias <i>R = G = B</i> parecerão sem cor, ou "acromáticas". A aparência
 			primárias <i>R = G = B</i> parecerão sem cor, ou "acromáticas". A aparência
 			de valores acromáticos (como branco ou cinza) dependem da percepção humana, que por sua vez depende
 			de valores acromáticos (como branco ou cinza) dependem da percepção humana, que por sua vez depende
 			fortemente no contexto do observador. Um espaço de cor especifica seu "ponto branco" para equilibrar
 			fortemente no contexto do observador. Um espaço de cor especifica seu "ponto branco" para equilibrar
 			essas necessidades. O ponto branco definido pelo espaço de cores sRGB é
 			essas necessidades. O ponto branco definido pelo espaço de cores sRGB é
-			<a href="https://en.wikipedia.org/wiki/Illuminant_D65" target="_blank">D65</a>.
+			[link:https://en.wikipedia.org/wiki/Illuminant_D65 D65].
 		</li>
 		</li>
 		<li>
 		<li>
 			<b>Transfer functions:</b> depois de escolher a gama de cores e um modelo de cores, ainda precisamos
 			<b>Transfer functions:</b> depois de escolher a gama de cores e um modelo de cores, ainda precisamos
@@ -98,7 +98,7 @@
 		</li>
 		</li>
 	</ul>
 	</ul>
 
 
-	Esses três parâmetros — cores primárias, ponto branco e transfer functions — definem um espaço de cores, 
+	Esses três parâmetros — cores primárias, ponto branco e transfer functions — definem um espaço de cores,
 	cada um escolhido para objetivos particulares. Tendo definido os parâmetros, alguns termos adicionais
 	cada um escolhido para objetivos particulares. Tendo definido os parâmetros, alguns termos adicionais
 	são úteis:
 	são úteis:
 
 
@@ -107,7 +107,7 @@
 			<b>Modelo de cores:</b> Sintaxe para identificar numericamente as cores dentro da gama de cores escolhida —
 			<b>Modelo de cores:</b> Sintaxe para identificar numericamente as cores dentro da gama de cores escolhida —
 			um sistema de coordenadas para cores. No three.js estamos preocupados principalmente com o modelo de cor RGB,
 			um sistema de coordenadas para cores. No three.js estamos preocupados principalmente com o modelo de cor RGB,
 			tendo três coordenadas <i>r, g, b ∈ [0,1]</i> ("domínio fechado") ou
 			tendo três coordenadas <i>r, g, b ∈ [0,1]</i> ("domínio fechado") ou
-			<i>r, g, b ∈ [0,∞]</i> ("domínio aberto"), cada um representando uma fração de uma cor primária. 
+			<i>r, g, b ∈ [0,∞]</i> ("domínio aberto"), cada um representando uma fração de uma cor primária.
 			Outros modelos de cores (HSL, Lab, LCH) são comumente usados ​​para controle artístico.
 			Outros modelos de cores (HSL, Lab, LCH) são comumente usados ​​para controle artístico.
 		</li>
 		</li>
 		<li>
 		<li>
@@ -202,7 +202,7 @@ THREE.ColorManagement.legacyMode = false;
 
 
 	<p>
 	<p>
 		Renderização, interpolação e muitas outras operações devem ser executadas em um domínio aberto
 		Renderização, interpolação e muitas outras operações devem ser executadas em um domínio aberto
-		do espaço de cores de trabalho linear, no qual os componentes RGB são proporcionais a iluminação 
+		do espaço de cores de trabalho linear, no qual os componentes RGB são proporcionais a iluminação
 		física. No three.js, o espaço de cores de trabalho é Linear-sRGB.
 		física. No three.js, o espaço de cores de trabalho é Linear-sRGB.
 	</p>
 	</p>
 
 
@@ -234,7 +234,7 @@ renderer.outputEncoding = THREE.sRGBEncoding; // optional with post-processing
 
 
 	<blockquote>
 	<blockquote>
 		<p>
 		<p>
-			⚠️ <i><b>AVISO:</b> 
+			⚠️ <i><b>AVISO:</b>
 			Os render targets podem usar sRGB ou Linear-sRGB. sRGB faz
 			Os render targets podem usar sRGB ou Linear-sRGB. sRGB faz
 			melhor uso de precisão limitada. No domínio fechado, 8 bits geralmente são suficientes para sRGB
 			melhor uso de precisão limitada. No domínio fechado, 8 bits geralmente são suficientes para sRGB
 			enquanto que ≥12 bits (meio flutuante) podem ser necessários para Linear-sRGB. Se mais tarde
 			enquanto que ≥12 bits (meio flutuante) podem ser necessários para Linear-sRGB. Se mais tarde

+ 7 - 7
docs/manual/pt-br/introduction/Useful-links.html

@@ -21,7 +21,7 @@
 
 
 		<h2>Fóruns de ajuda</h2>
 		<h2>Fóruns de ajuda</h2>
 		<p>
 		<p>
-			Three.js utiliza oficialmente o [link:https://discourse.threejs.org/ forum] e o [link:http://stackoverflow.com/tags/three.js/info Stack Overflow] para 
+			Three.js utiliza oficialmente o [link:https://discourse.threejs.org/ forum] e o [link:http://stackoverflow.com/tags/three.js/info Stack Overflow] para
 			pedidos de ajuda.
 			pedidos de ajuda.
 
 
 			Se você precisar de ajuda com algo, esse é o caminho. NÃO abra uma issue no Github para pedidos de ajuda.
 			Se você precisar de ajuda com algo, esse é o caminho. NÃO abra uma issue no Github para pedidos de ajuda.
@@ -45,7 +45,7 @@
 		<h3>Artigos e cursos mais extensos / avançados</h3>
 		<h3>Artigos e cursos mais extensos / avançados</h3>
 		<ul>
 		<ul>
 			<li>
 			<li>
-				[link:https://threejs-journey.com/ Three Journey] Curso do [link:https://bruno-simon.com/ Bruno Simon] - 
+				[link:https://threejs-journey.com/ Three Journey] Curso do [link:https://bruno-simon.com/ Bruno Simon] -
 				Ensina os iniciantes a usar o Three.js passo a passo
 				Ensina os iniciantes a usar o Three.js passo a passo
 			</li>
 			</li>
 			<li>
 			<li>
@@ -92,7 +92,7 @@
 				[link:https://github.com/edwinwebb/three-seed/ three-seed] - Projeto inicial three.js com ES6 e Webpack
 				[link:https://github.com/edwinwebb/three-seed/ three-seed] - Projeto inicial three.js com ES6 e Webpack
 			</li>
 			</li>
 			<li>
 			<li>
-				[link:http://stemkoski.github.io/Three.js/index.html Professor Stemkoskis Examples] - Uma coleção de exemplos 
+				[link:http://stemkoski.github.io/Three.js/index.html Professor Stemkoskis Examples] - Uma coleção de exemplos
 				amigáveis para iniciantes desenvolvidos com three.js.
 				amigáveis para iniciantes desenvolvidos com three.js.
 			</li>
 			</li>
 			<li>
 			<li>
@@ -124,7 +124,7 @@
 		<li>
 		<li>
 			[link:https://marketplace.visualstudio.com/items?itemName=slevesque.shader vscode shader] - Marcador de sintaxe para linguagem de shader.
 			[link:https://marketplace.visualstudio.com/items?itemName=slevesque.shader vscode shader] - Marcador de sintaxe para linguagem de shader.
 			<br />
 			<br />
-			[link:https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates vscode comment-tagged-templates] - 
+			[link:https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates vscode comment-tagged-templates] -
 			Marcador de sintaxe para modelo de strings com tags usando comentários para linguagem de shader, como: glsl.js.
 			Marcador de sintaxe para modelo de strings com tags usando comentários para linguagem de shader, como: glsl.js.
 		</li>
 		</li>
 		<li>
 		<li>
@@ -147,7 +147,7 @@
 
 
 	<ul>
 	<ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - uma coleção de exemplos usando three.js r45
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - uma coleção de exemplos usando three.js r45
@@ -159,7 +159,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] de [link:http://github.com/yomotsu Akihiro Oyamada] (slides).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] de [link:http://github.com/yomotsu Akihiro Oyamada] (slides).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  de [link:https://github.com/jareiko jareiko] (vídeo).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  de [link:https://github.com/jareiko jareiko] (vídeo).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - editor de cena, mantido até cerca do three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - editor de cena, mantido até cerca do three.js r50.
@@ -176,7 +176,7 @@
 			de [link:https://github.com/BKcore BKcore]
 			de [link:https://github.com/BKcore BKcore]
 		</li>
 		</li>
 		<li>
 		<li>
-			[link:http://www.natural-science.or.jp/article/20120220155529.php Building A Physics Simulation Environment] - 
+			[link:http://www.natural-science.or.jp/article/20120220155529.php Building A Physics Simulation Environment] -
 			tutorial three.js em japonês
 			tutorial three.js em japonês
 		</li>
 		</li>
 	 </ul>
 	 </ul>

+ 3 - 3
docs/manual/ru/introduction/Useful-links.html

@@ -30,7 +30,7 @@
 		<h3>Начало работы с three.js</h3>
 		<h3>Начало работы с three.js</h3>
 		<ul>
 		<ul>
 			<li>
 			<li>
-				<a href="https://threejs.org/manual/#ru/fundamentals" target="_blank">Основы Three.js фундаментальные знания</a>
+				[link:https://threejs.org/manual/#ru/fundamentals Основы Three.js фундаментальные знания]
 			</li>
 			</li>
 			<li>
 			<li>
 				[link:https://codepen.io/rachsmith/post/beginning-with-3d-webgl-pt-1-the-scene Beginning with 3D WebGL] (Начиная с 3D WebGL) вместе с [link:https://codepen.io/rachsmith/ Rachel Smith].
 				[link:https://codepen.io/rachsmith/post/beginning-with-3d-webgl-pt-1-the-scene Beginning with 3D WebGL] (Начиная с 3D WebGL) вместе с [link:https://codepen.io/rachsmith/ Rachel Smith].
@@ -140,7 +140,7 @@
 
 
 	<ul>
 	<ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - коллекция примеров, использующих three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - коллекция примеров, использующих three.js r45.
@@ -152,7 +152,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (слайд-шоу).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (слайд-шоу).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  by [link:https://github.com/jareiko jareiko] (видео).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  by [link:https://github.com/jareiko jareiko] (видео).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - редактор сцен, поддерживаемый примерно до three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - редактор сцен, поддерживаемый примерно до three.js r50.

+ 3 - 3
docs/manual/zh/buildTools/Testing-with-NPM.html

@@ -130,7 +130,7 @@ $ npm install three --save-dev
  $ npm install [email protected] --save
  $ npm install [email protected] --save
 							</code>
 							</code>
 							(例子中用的是0.84.0)。 --save 指令将此加入项目的dependency而不是dev dependency。
 							(例子中用的是0.84.0)。 --save 指令将此加入项目的dependency而不是dev dependency。
-							更多信息请参阅<a href="https://docs.npmjs.com/cli/v8/configuring-npm/package-json">这份文档</a>
+							更多信息请参阅[link:https://docs.npmjs.com/cli/v8/configuring-npm/package-json 这份文档]
 						</li>
 						</li>
 					</ul>
 					</ul>
 				</li>
 				</li>
@@ -180,12 +180,12 @@ The THREE object should be able to construct a Vector3 with default of x=0: 0ms
 			<ol>
 			<ol>
 				<li>
 				<li>
 					为你的代码写一段测试程序来检验期望结果,并把它放在 test/ 目录下。
 					为你的代码写一段测试程序来检验期望结果,并把它放在 test/ 目录下。
-					<a href="https://github.com/air/encounter/blob/master/test/Physics-test.js">这里</a>有一个实际项目的例子。
+					[link:https://github.com/air/encounter/blob/master/test/Physics-test.js 这里]有一个实际项目的例子。
 				</li>
 				</li>
 
 
 				<li>
 				<li>
 					将你的代码以nodejs承认的方式导出,即可以通过require的方式引用。
 					将你的代码以nodejs承认的方式导出,即可以通过require的方式引用。
-					参考<a href="https://github.com/air/encounter/blob/master/js/Physics.js">这份代码</a>
+					参考[link:https://github.com/air/encounter/blob/master/js/Physics.js 这份代码]
 				</li>
 				</li>
 
 
 				<li>
 				<li>

+ 1 - 1
docs/manual/zh/introduction/Animation-system.html

@@ -19,7 +19,7 @@
 			相同或不同物体的动画也可以同步发生。
 			相同或不同物体的动画也可以同步发生。
 			<br /><br />
 			<br /><br />
 			为了在一个同构系统中实现所有这一切,
 			为了在一个同构系统中实现所有这一切,
-			three.js的动画系统<a href="https://github.com/mrdoob/three.js/issues/6881">在2015年彻底改变</a>(注意过时的信息!),
+			three.js的动画系统[link:https://github.com/mrdoob/three.js/issues/6881 在2015年彻底改变](注意过时的信息!),
 			它现在有一个与Unity/虚幻4引擎类似的架构。此页面简要阐述了这个系统中的主要组件以及它们如何协同工作。
 			它现在有一个与Unity/虚幻4引擎类似的架构。此页面简要阐述了这个系统中的主要组件以及它们如何协同工作。
 		</p>
 		</p>
 
 

+ 1 - 1
docs/manual/zh/introduction/How-to-update-things.html

@@ -107,7 +107,7 @@ line.geometry.attributes.position.needsUpdate = true; // 需要加在第一次
 			</code>
 			</code>
 
 
 			<p>
 			<p>
-				<a href="https://jsfiddle.net/t4m85pLr/1/">这个fiddle</a>展示了一个你可以参考的运动的line。
+				[link:https://jsfiddle.net/t4m85pLr/1/ 这个fiddle]展示了一个你可以参考的运动的line。
 			</p>
 			</p>
 
 
 			<h3>例子</h3>
 			<h3>例子</h3>

+ 2 - 2
docs/manual/zh/introduction/Useful-links.html

@@ -138,7 +138,7 @@
 
 
 	 <ul>
 	 <ul>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=Dir4KO9RdhM" target="_blank">AlterQualia at WebGL Camp 3</a>
+			[link:https://www.youtube.com/watch?v=Dir4KO9RdhM AlterQualia at WebGL Camp 3]
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
 			[link:http://yomotsu.github.io/threejs-examples/ Yomotsus Examples] - a collection of examples using three.js r45.
@@ -150,7 +150,7 @@
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 			[link:http://www.slideshare.net/yomotsu/webgl-and-threejs WebGL and Three.js] by [link:http://github.com/yomotsu Akihiro Oyamada] (slideshow).
 		</li>
 		</li>
 		<li>
 		<li>
-			<a href="https://www.youtube.com/watch?v=VdQnOaolrPA" target="_blank">Trigger Rally</a>  by [link:https://github.com/jareiko jareiko] (video).
+			[link:https://www.youtube.com/watch?v=VdQnOaolrPA Trigger Rally]  by [link:https://github.com/jareiko jareiko] (video).
 		</li>
 		</li>
 		<li>
 		<li>
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.
 			[link:http://blackjk3.github.io/threefab/ ThreeFab] - scene editor, maintained up until around three.js r50.

+ 1 - 0
docs/page.css

@@ -76,6 +76,7 @@ body.rtl table {
 }
 }
 body.rtl code {
 body.rtl code {
 	direction: ltr !important;
 	direction: ltr !important;
+	text-align: initial;
 }
 }
 
 
 a {
 a {

+ 34 - 6
docs/page.js

@@ -61,26 +61,54 @@ function onDocumentLoad() {
 	text = text.replace( /\[name\]/gi, name );
 	text = text.replace( /\[name\]/gi, name );
 	text = text.replace( /\[path\]/gi, path );
 	text = text.replace( /\[path\]/gi, path );
 	text = text.replace( /\[page:([\w\.]+)\]/gi, '[page:$1 $1]' ); // [page:name] to [page:name title]
 	text = text.replace( /\[page:([\w\.]+)\]/gi, '[page:$1 $1]' ); // [page:name] to [page:name title]
-	text = text.replace( /\[page:\.([\w\.]+) ([\w\.\s]+)\]/gi, '[page:' + name + '.$1 $2]' ); // [page:.member title] to [page:name.member title]
-	text = text.replace( /\[page:([\w\.]+) ([\w\.\s]+)\]/gi, '<a onclick="window.parent.setUrlFragment(\'$1\')" title="$1">$2</a>' ); // [page:name title]
+	text = text.replace( /\[page:\.([\w\.]+) ([\w\.\s]+)\]/gi, `[page:${name}.$1 $2]` ); // [page:.member title] to [page:name.member title]
+	text = text.replace( /\[page:([\w\.]+) ([\w\.\s]+)\]/gi, '<a class=\'links\' data-fragment=\'$1\' title=\'$1\'>$2</a>' ); // [page:name title]
 	// text = text.replace( /\[member:.([\w]+) ([\w\.\s]+)\]/gi, "<a onclick=\"window.parent.setUrlFragment('" + name + ".$1')\" title=\"$1\">$2</a>" );
 	// text = text.replace( /\[member:.([\w]+) ([\w\.\s]+)\]/gi, "<a onclick=\"window.parent.setUrlFragment('" + name + ".$1')\" title=\"$1\">$2</a>" );
 
 
 	text = text.replace( /\[(member|property|method|param):([\w]+)\]/gi, '[$1:$2 $2]' ); // [member:name] to [member:name title]
 	text = text.replace( /\[(member|property|method|param):([\w]+)\]/gi, '[$1:$2 $2]' ); // [member:name] to [member:name title]
-	text = text.replace( /\[(?:member|property|method):([\w]+) ([\w\.\s]+)\]\s*(\(.*\))?/gi, '<a onclick="window.parent.setUrlFragment(\'' + name + '.$2\')" target="_parent" title="' + name + '.$2" class="permalink">#</a> .<a onclick="window.parent.setUrlFragment(\'' + name + '.$2\')" id="$2">$2</a> $3 : <a class="param" onclick="window.parent.setUrlFragment(\'$1\')">$1</a>' );
-	text = text.replace( /\[param:([\w\.]+) ([\w\.\s]+)\]/gi, '$2 : <a class="param" onclick="window.parent.setUrlFragment(\'$1\')">$1</a>' ); // [param:name title]
+	text = text.replace( /\[(?:member|property|method):([\w]+) ([\w\.\s]+)\]\s*(\(.*\))?/gi, `<a class='permalink links' data-fragment='${name}.$2' target='_parent' title='${name}.$2'>#</a> .<a class='links' data-fragment='${name}.$2' id='$2'>$2</a> $3 : <a class='param links' data-fragment='$1'>$1</a>` );
+	text = text.replace( /\[param:([\w\.]+) ([\w\.\s]+)\]/gi, '$2 : <a class=\'param links\' data-fragment=\'$1\'>$1</a>' ); // [param:name title]
 
 
 	text = text.replace( /\[link:([\w\:\/\.\-\_\(\)\?\#\=\!\~]+)\]/gi, '<a href="$1" target="_blank">$1</a>' ); // [link:url]
 	text = text.replace( /\[link:([\w\:\/\.\-\_\(\)\?\#\=\!\~]+)\]/gi, '<a href="$1" target="_blank">$1</a>' ); // [link:url]
-	text = text.replace( /\[link:([\w\:\/\.\-\_\(\)\?\#\=\!\~]+) ([\w\:\/\.\-\_\'\s]+)\]/gi, '<a href="$1" target="_blank">$2</a>' ); // [link:url title]
+	text = text.replace( /\[link:([\w:/.\-_()?#=!~]+) ([\w\p{L}:/.\-_'\s]+)\]/giu, '<a href="$1" target="_blank">$2</a>' ); // [link:url title]
 	text = text.replace( /\*([\w\d\"\-\(][\w\d\ \/\+\-\(\)\=\,\."]*[\w\d\"\)]|\w)\*/gi, '<strong>$1</strong>' ); // *text*
 	text = text.replace( /\*([\w\d\"\-\(][\w\d\ \/\+\-\(\)\=\,\."]*[\w\d\"\)]|\w)\*/gi, '<strong>$1</strong>' ); // *text*
 	text = text.replace( /\`(.*?)\`/gi, '<code class="inline">$1</code>' ); // `code`
 	text = text.replace( /\`(.*?)\`/gi, '<code class="inline">$1</code>' ); // `code`
 
 
 	text = text.replace( /\[example:([\w\_]+)\]/gi, '[example:$1 $1]' ); // [example:name] to [example:name title]
 	text = text.replace( /\[example:([\w\_]+)\]/gi, '[example:$1 $1]' ); // [example:name] to [example:name title]
 	text = text.replace( /\[example:([\w\_]+) ([\w\:\/\.\-\_ \s]+)\]/gi, '<a href="../examples/#$1" target="_blank">$2</a>' ); // [example:name title]
 	text = text.replace( /\[example:([\w\_]+) ([\w\:\/\.\-\_ \s]+)\]/gi, '<a href="../examples/#$1" target="_blank">$2</a>' ); // [example:name title]
 
 
-	text = text.replace( /<a class="param" onclick="window.parent.setUrlFragment\('\w+'\)">(null|this|Boolean|Object|Array|Number|String|Integer|Float|TypedArray|ArrayBuffer)<\/a>/gi, '<span class="param">$1</span>' ); // remove links to primitive types
+	text = text.replace( /<a class=\'param links\' data-fragment=\'\w+\'>(undefined|null|this|Boolean|Object|Array|Number|String|Integer|Float|TypedArray|ArrayBuffer)<\/a>/gi, '<span class="param">$1</span>' ); // remove links to primitive types
 
 
 	document.body.innerHTML = text;
 	document.body.innerHTML = text;
 
 
+	if ( window.parent.getPageURL ) {
+
+		const links = document.querySelectorAll( '.links' );
+		for ( let i = 0; i < links.length; i ++ ) {
+
+			const pageURL = window.parent.getPageURL( links[ i ].dataset.fragment );
+			if ( pageURL ) {
+
+				links[ i ].href = './index.html#' + pageURL;
+
+			}
+
+		}
+
+	}
+
+	document.body.addEventListener( 'click', event => {
+
+		const element = event.target;
+		if ( element.classList.contains( 'links' ) && event.button === 0 && ! event.shiftKey && ! event.ctrlKey && ! event.metaKey && ! event.altKey ) {
+
+			window.parent.setUrlFragment( element.dataset.fragment );
+			event.preventDefault();
+
+		}
+
+	} );
+
 	// handle code snippets formatting
 	// handle code snippets formatting
 
 
 	const elements = document.getElementsByTagName( 'code' );
 	const elements = document.getElementsByTagName( 'code' );

+ 1 - 1
editor/index.html

@@ -26,7 +26,7 @@
 
 
 		<link rel="stylesheet" href="css/main.css">
 		<link rel="stylesheet" href="css/main.css">
 
 
-		<script src="../examples/js/libs/draco/draco_encoder.js"></script>
+		<script src="../examples/jsm/libs/draco/draco_encoder.js"></script>
 
 
 		<link rel="stylesheet" href="js/libs/codemirror/codemirror.css">
 		<link rel="stylesheet" href="js/libs/codemirror/codemirror.css">
 		<link rel="stylesheet" href="js/libs/codemirror/theme/monokai.css">
 		<link rel="stylesheet" href="js/libs/codemirror/theme/monokai.css">

+ 5 - 5
editor/js/Loader.js

@@ -199,7 +199,7 @@ function Loader( editor ) {
 					const { DRACOLoader } = await import( 'three/addons/loaders/DRACOLoader.js' );
 					const { DRACOLoader } = await import( 'three/addons/loaders/DRACOLoader.js' );
 
 
 					const loader = new DRACOLoader();
 					const loader = new DRACOLoader();
-					loader.setDecoderPath( '../examples/js/libs/draco/' );
+					loader.setDecoderPath( '../examples/jsm/libs/draco/' );
 					loader.decodeDracoFile( contents, function ( geometry ) {
 					loader.decodeDracoFile( contents, function ( geometry ) {
 
 
 						let object;
 						let object;
@@ -267,7 +267,7 @@ function Loader( editor ) {
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 
 
 					const dracoLoader = new DRACOLoader();
 					const dracoLoader = new DRACOLoader();
-					dracoLoader.setDecoderPath( '../examples/js/libs/draco/gltf/' );
+					dracoLoader.setDecoderPath( '../examples/jsm/libs/draco/gltf/' );
 
 
 					const loader = new GLTFLoader();
 					const loader = new GLTFLoader();
 					loader.setDRACOLoader( dracoLoader );
 					loader.setDRACOLoader( dracoLoader );
@@ -308,7 +308,7 @@ function Loader( editor ) {
 						const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 						const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 
 
 						const dracoLoader = new DRACOLoader();
 						const dracoLoader = new DRACOLoader();
-						dracoLoader.setDecoderPath( '../examples/js/libs/draco/gltf/' );
+						dracoLoader.setDecoderPath( '../examples/jsm/libs/draco/gltf/' );
 
 
 						loader = new GLTFLoader( manager );
 						loader = new GLTFLoader( manager );
 						loader.setDRACOLoader( dracoLoader );
 						loader.setDRACOLoader( dracoLoader );
@@ -956,7 +956,7 @@ function Loader( editor ) {
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 
 
 					const dracoLoader = new DRACOLoader();
 					const dracoLoader = new DRACOLoader();
-					dracoLoader.setDecoderPath( '../examples/js/libs/draco/gltf/' );
+					dracoLoader.setDecoderPath( '../examples/jsm/libs/draco/gltf/' );
 
 
 					const loader = new GLTFLoader();
 					const loader = new GLTFLoader();
 					loader.setDRACOLoader( dracoLoader );
 					loader.setDRACOLoader( dracoLoader );
@@ -982,7 +982,7 @@ function Loader( editor ) {
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 					const { GLTFLoader } = await import( 'three/addons/loaders/GLTFLoader.js' );
 
 
 					const dracoLoader = new DRACOLoader();
 					const dracoLoader = new DRACOLoader();
-					dracoLoader.setDecoderPath( '../examples/js/libs/draco/gltf/' );
+					dracoLoader.setDecoderPath( '../examples/jsm/libs/draco/gltf/' );
 
 
 					const loader = new GLTFLoader( manager );
 					const loader = new GLTFLoader( manager );
 					loader.setDRACOLoader( dracoLoader );
 					loader.setDRACOLoader( dracoLoader );

+ 4 - 4
editor/js/Menubar.Add.js

@@ -79,7 +79,7 @@ function MenubarAdd( editor ) {
 	option.setTextContent( strings.getKey( 'menubar/add/circle' ) );
 	option.setTextContent( strings.getKey( 'menubar/add/circle' ) );
 	option.onClick( function () {
 	option.onClick( function () {
 
 
-		const geometry = new THREE.CircleGeometry( 1, 8, 0, Math.PI * 2 );
+		const geometry = new THREE.CircleGeometry( 1, 32, 0, Math.PI * 2 );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		mesh.name = 'Circle';
 		mesh.name = 'Circle';
 
 
@@ -95,7 +95,7 @@ function MenubarAdd( editor ) {
 	option.setTextContent( strings.getKey( 'menubar/add/cylinder' ) );
 	option.setTextContent( strings.getKey( 'menubar/add/cylinder' ) );
 	option.onClick( function () {
 	option.onClick( function () {
 
 
-		const geometry = new THREE.CylinderGeometry( 1, 1, 1, 8, 1, false, 0, Math.PI * 2 );
+		const geometry = new THREE.CylinderGeometry( 1, 1, 1, 32, 1, false, 0, Math.PI * 2 );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		mesh.name = 'Cylinder';
 		mesh.name = 'Cylinder';
 
 
@@ -192,7 +192,7 @@ function MenubarAdd( editor ) {
 	option.setTextContent( strings.getKey( 'menubar/add/ring' ) );
 	option.setTextContent( strings.getKey( 'menubar/add/ring' ) );
 	option.onClick( function () {
 	option.onClick( function () {
 
 
-		const geometry = new THREE.RingGeometry( 0.5, 1, 8, 1, 0, Math.PI * 2 );
+		const geometry = new THREE.RingGeometry( 0.5, 1, 32, 1, 0, Math.PI * 2 );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		mesh.name = 'Ring';
 		mesh.name = 'Ring';
 
 
@@ -255,7 +255,7 @@ function MenubarAdd( editor ) {
 	option.setTextContent( strings.getKey( 'menubar/add/torus' ) );
 	option.setTextContent( strings.getKey( 'menubar/add/torus' ) );
 	option.onClick( function () {
 	option.onClick( function () {
 
 
-		const geometry = new THREE.TorusGeometry( 1, 0.4, 8, 6, Math.PI * 2 );
+		const geometry = new THREE.TorusGeometry( 1, 0.4, 12, 48, Math.PI * 2 );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		const mesh = new THREE.Mesh( geometry, new THREE.MeshStandardMaterial() );
 		mesh.name = 'Torus';
 		mesh.name = 'Torus';
 
 

+ 2 - 1
editor/js/Sidebar.Material.js

@@ -306,7 +306,8 @@ function SidebarMaterial( editor ) {
 	const materialSideOptions = {
 	const materialSideOptions = {
 		0: 'Front',
 		0: 'Front',
 		1: 'Back',
 		1: 'Back',
-		2: 'Double'
+		2: 'Double',
+		3: 'TwoPassDouble'
 	};
 	};
 
 
 	const materialSide = new SidebarMaterialConstantProperty( editor, 'side', strings.getKey( 'sidebar/material/side' ), materialSideOptions );
 	const materialSide = new SidebarMaterialConstantProperty( editor, 'side', strings.getKey( 'sidebar/material/side' ), materialSideOptions );

+ 8 - 8
editor/sw.js

@@ -15,14 +15,14 @@ const assets = [
 	'../examples/jsm/libs/chevrotain.module.min.js',
 	'../examples/jsm/libs/chevrotain.module.min.js',
 	'../examples/jsm/libs/fflate.module.js',
 	'../examples/jsm/libs/fflate.module.js',
 
 
-	'../examples/js/libs/draco/draco_decoder.js',
-	'../examples/js/libs/draco/draco_decoder.wasm',
-	'../examples/js/libs/draco/draco_encoder.js',
-	'../examples/js/libs/draco/draco_wasm_wrapper.js',
-
-	'../examples/js/libs/draco/gltf/draco_decoder.js',
-	'../examples/js/libs/draco/gltf/draco_decoder.wasm',
-	'../examples/js/libs/draco/gltf/draco_wasm_wrapper.js',
+	'../examples/jsm/libs/draco/draco_decoder.js',
+	'../examples/jsm/libs/draco/draco_decoder.wasm',
+	'../examples/jsm/libs/draco/draco_encoder.js',
+	'../examples/jsm/libs/draco/draco_wasm_wrapper.js',
+
+	'../examples/jsm/libs/draco/gltf/draco_decoder.js',
+	'../examples/jsm/libs/draco/gltf/draco_decoder.wasm',
+	'../examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js',
 
 
 	'../examples/jsm/libs/motion-controllers.module.js',
 	'../examples/jsm/libs/motion-controllers.module.js',
 
 

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