1
0
Mr.doob 1 жил өмнө
parent
commit
461a1290f4
100 өөрчлөгдсөн 2910 нэмэгдсэн , 2455 устгасан
  1. 1294 1149
      build/three.cjs
  2. 1294 1149
      build/three.core.js
  3. 0 0
      build/three.core.min.js
  4. 0 0
      build/three.module.js
  5. 0 0
      build/three.module.min.js
  6. 8 0
      build/three.tsl.js
  7. 0 0
      build/three.tsl.min.js
  8. 0 0
      build/three.webgpu.js
  9. 0 0
      build/three.webgpu.min.js
  10. 0 0
      build/three.webgpu.nodes.js
  11. 0 0
      build/three.webgpu.nodes.min.js
  12. 0 12
      docs/api/ar/constants/Textures.html
  13. 4 2
      docs/api/ar/geometries/CapsuleGeometry.html
  14. 1 1
      docs/api/en/constants/Materials.html
  15. 0 12
      docs/api/en/constants/Textures.html
  16. 4 2
      docs/api/en/geometries/CapsuleGeometry.html
  17. 1 1
      docs/api/en/math/Vector3.html
  18. 0 10
      docs/api/fr/constants/Textures.html
  19. 3 2
      docs/api/fr/geometries/CapsuleGeometry.html
  20. 0 10
      docs/api/it/constants/Textures.html
  21. 3 2
      docs/api/it/geometries/CapsuleGeometry.html
  22. 0 10
      docs/api/ko/constants/Textures.html
  23. 3 2
      docs/api/ko/geometries/CapsuleGeometry.html
  24. 0 11
      docs/api/pt-br/constants/Textures.html
  25. 0 8
      docs/api/zh/constants/Textures.html
  26. 3 2
      docs/api/zh/geometries/CapsuleGeometry.html
  27. 1 1
      docs/examples/en/controls/ArcballControls.html
  28. 6 4
      docs/scenes/geometry-browser.html
  29. 1 1
      editor/js/Menubar.Add.js
  30. 21 9
      editor/js/Sidebar.Geometry.CapsuleGeometry.js
  31. 12 6
      editor/js/Strings.js
  32. 6 0
      editor/js/commands/MoveObjectCommand.js
  33. 2 2
      editor/js/libs/tern-threejs/threejs.js
  34. 11 1
      examples/files.json
  35. 8 0
      examples/index.html
  36. 1 0
      examples/jsm/animation/AnimationClipCreator.js
  37. 6 3
      examples/jsm/animation/CCDIKSolver.js
  38. 1 0
      examples/jsm/capabilities/WebGL.js
  39. 1 0
      examples/jsm/capabilities/WebGPU.js
  40. 2 1
      examples/jsm/controls/ArcballControls.js
  41. 1 0
      examples/jsm/controls/DragControls.js
  42. 1 0
      examples/jsm/controls/FirstPersonControls.js
  43. 1 0
      examples/jsm/controls/FlyControls.js
  44. 1 0
      examples/jsm/controls/MapControls.js
  45. 1 0
      examples/jsm/controls/OrbitControls.js
  46. 5 3
      examples/jsm/controls/PointerLockControls.js
  47. 1 0
      examples/jsm/controls/TrackballControls.js
  48. 1 0
      examples/jsm/controls/TransformControls.js
  49. 2 0
      examples/jsm/csm/CSM.js
  50. 2 0
      examples/jsm/csm/CSMFrustum.js
  51. 1 0
      examples/jsm/csm/CSMHelper.js
  52. 4 1
      examples/jsm/csm/CSMShader.js
  53. 1 0
      examples/jsm/csm/CSMShadowNode.js
  54. 14 0
      examples/jsm/curves/CurveExtras.js
  55. 1 0
      examples/jsm/curves/NURBSCurve.js
  56. 2 0
      examples/jsm/curves/NURBSSurface.js
  57. 4 1
      examples/jsm/curves/NURBSUtils.js
  58. 2 0
      examples/jsm/curves/NURBSVolume.js
  59. 2 0
      examples/jsm/effects/AnaglyphEffect.js
  60. 2 0
      examples/jsm/effects/AsciiEffect.js
  61. 2 0
      examples/jsm/effects/OutlineEffect.js
  62. 2 0
      examples/jsm/effects/ParallaxBarrierEffect.js
  63. 2 0
      examples/jsm/effects/PeppersGhostEffect.js
  64. 2 0
      examples/jsm/effects/StereoEffect.js
  65. 1 0
      examples/jsm/environments/DebugEnvironment.js
  66. 49 35
      examples/jsm/environments/RoomEnvironment.js
  67. 3 1
      examples/jsm/exporters/DRACOExporter.js
  68. 2 0
      examples/jsm/exporters/EXRExporter.js
  69. 2 0
      examples/jsm/exporters/GLTFExporter.js
  70. 2 0
      examples/jsm/exporters/KTX2Exporter.js
  71. 2 0
      examples/jsm/exporters/OBJExporter.js
  72. 2 0
      examples/jsm/exporters/PLYExporter.js
  73. 2 0
      examples/jsm/exporters/STLExporter.js
  74. 2 0
      examples/jsm/exporters/USDZExporter.js
  75. 1 0
      examples/jsm/geometries/BoxLineGeometry.js
  76. 1 0
      examples/jsm/geometries/ConvexGeometry.js
  77. 1 0
      examples/jsm/geometries/DecalGeometry.js
  78. 4 1
      examples/jsm/geometries/ParametricFunctions.js
  79. 1 0
      examples/jsm/geometries/ParametricGeometry.js
  80. 1 0
      examples/jsm/geometries/RoundedBoxGeometry.js
  81. 1 0
      examples/jsm/geometries/TeapotGeometry.js
  82. 1 0
      examples/jsm/geometries/TextGeometry.js
  83. 1 0
      examples/jsm/helpers/LightProbeHelper.js
  84. 1 0
      examples/jsm/helpers/LightProbeHelperGPU.js
  85. 1 0
      examples/jsm/helpers/OctreeHelper.js
  86. 1 0
      examples/jsm/helpers/PositionalAudioHelper.js
  87. 59 0
      examples/jsm/helpers/RapierHelper.js
  88. 1 0
      examples/jsm/helpers/RectAreaLightHelper.js
  89. 1 0
      examples/jsm/helpers/TextureHelper.js
  90. 1 0
      examples/jsm/helpers/TextureHelperGPU.js
  91. 1 0
      examples/jsm/helpers/VertexNormalsHelper.js
  92. 1 0
      examples/jsm/helpers/VertexTangentsHelper.js
  93. 1 0
      examples/jsm/helpers/ViewHelper.js
  94. 1 0
      examples/jsm/interactive/HTMLMesh.js
  95. 1 0
      examples/jsm/interactive/InteractiveGroup.js
  96. 2 0
      examples/jsm/interactive/SelectionBox.js
  97. 2 0
      examples/jsm/interactive/SelectionHelper.js
  98. 1 0
      examples/jsm/lighting/TiledLighting.js
  99. 1 0
      examples/jsm/lights/LightProbeGenerator.js
  100. 1 0
      examples/jsm/lights/RectAreaLightTexturesLib.js

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1294 - 1149
build/three.cjs


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1294 - 1149
build/three.core.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.core.min.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.module.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.module.min.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 8 - 0
build/three.tsl.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.tsl.min.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.webgpu.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.webgpu.min.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.webgpu.nodes.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
build/three.webgpu.nodes.min.js


+ 0 - 12
docs/api/ar/constants/Textures.html

@@ -143,8 +143,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat 
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat 
-		THREE.LuminanceAlphaFormat 
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -180,16 +178,6 @@
 			الزرقاء والألفا. يتم قراءة `texels` كأعداد صحيحة بدلاً من
 			نقطة عائمة.
 			<br /> <br />
-		 
-			[page:constant LuminanceFormat] يقرأ كل عنصر كمكون إضاءة واحد
-			. يتم تحويله بعد ذلك إلى نقطة عائمة ، ويتم تثبيته في
- 			النطاق [0،1] ، ثم يتم تجميعه في عنصر RGBA عن طريق وضع
- 			قيمة الإضاءة في القنوات الحمراء والخضراء والزرقاء ، وإرفاق `1.0` بـ
- 			قناة الألفا. <br /> <br />
-
- 			[page:constant LuminanceAlphaFormat] يقرأ كل عنصر كـ
- 			مزدوج إضاءة / ألفا. يحدث نفس العملية كما هو الحال في [page:constant LuminanceFormat] ، باستثناء أن قناة الألفا قد تحتوي على قيم غير
- 			`1.0`. <br /> <br />
 
  			[page:constant DepthFormat] يقرأ كل عنصر كقيمة عمق واحدة ،
  			يتحول إلى نقطة عائمة ، ويتم تثبيته في النطاق [0،1]. هذا هو

+ 4 - 2
docs/api/ar/geometries/CapsuleGeometry.html

@@ -47,15 +47,17 @@
 		<h2>المنشئ (Constructor)</h2>
 
  		<h3>
- 		[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])
+ 		[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])
  		</h3>
  		<p>
  		radius — نصف قطر الكبسولة. اختياري؛ الافتراضي هو 1.<br />
- 		length — طول القسم الأوسط. اختياري؛ الافتراضي هو 1.<br />
+ 		height — ارتفاع القسم الأوسط. اختياري؛ الافتراضي هو 1.<br />
  		capSegments — عدد قطاعات المنحنى المستخدمة لبناء الأغطية. اختياري؛
  		الافتراضي هو 4.<br />
  		radialSegments — عدد الوجوه المقسمة حول محيط
  		الكبسولة. اختياري؛ الافتراضي هو 8.<br />
+		heightSegments — عدد الوجوه المقسمة على الارتفاع
+		الكبسولة. اختياري؛ الافتراضي هو 1.<br />
  		</p>
 
  		<h2>الخصائص (Properties)</h2>

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

@@ -155,7 +155,7 @@
 			value by `1`.<br />
 			[page:Materials IncrementWrapStencilOp] will increment the current stencil
 			value by `1`. If the value increments past `255` it will be set to `0`.<br />
-			[page:Materials DecrementWrapStencilOp] will increment the current stencil
+			[page:Materials DecrementWrapStencilOp] will decrement the current stencil
 			value by `1`. If the value decrements below `0` it will be set to
 			`255`.<br />
 			[page:Materials InvertStencilOp] will perform a bitwise inversion of the

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

@@ -155,8 +155,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat 
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat 
-		THREE.LuminanceAlphaFormat 
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -193,16 +191,6 @@
 			floating point.
 			<br /><br />
 
-			[page:constant LuminanceFormat] reads each element as a single luminance
-			component. This is then converted to a floating point, clamped to the
-			range [0,1], and then assembled into an RGBA element by placing the
-			luminance value in the red, green and blue channels, and attaching 1.0 to
-			the alpha channel.<br /><br />
-
-			[page:constant LuminanceAlphaFormat] reads each element as a
-			luminance/alpha double. The same process occurs as for the [page:constant LuminanceFormat], except that the alpha channel may have values other than
-			`1.0`.<br /><br />
-
 			[page:constant DepthFormat] reads each element as a single depth value,
 			converts it to floating point, and clamps to the range [0,1]. This is the
 			default for [page:DepthTexture DepthTexture].<br /><br />

+ 4 - 2
docs/api/en/geometries/CapsuleGeometry.html

@@ -48,15 +48,17 @@ const capsule = new THREE.Mesh( geometry, material ); scene.add( capsule );
 		<h2>Constructor</h2>
 
 		<h3>
-			[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])
+			[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])
 		</h3>
 		<p>
 			radius — Radius of the capsule. Optional; defaults to `1`.<br />
-			length — Length of the middle section. Optional; defaults to `1`.<br />
+			height — Height of the middle section. Optional; defaults to `1`.<br />
 			capSegments — Number of curve segments used to build the caps. Optional;
 			defaults to `4`.<br />
 			radialSegments — Number of segmented faces around the circumference of the
 			capsule. Optional; defaults to `8`.<br />
+			heightSegments — Number of rows of faces along the height of the capsule. Optional;
+			defaults to `1`.<br />
 		</p>
 
 		<h2>Properties</h2>

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

@@ -485,7 +485,7 @@
 		<h3>[method:this setScalar]( [param:Float scalar] )</h3>
 		<p>
 			Set the [page:.x x], [page:.y y] and [page:.z z] values of this vector
-			both equal to [page:Float scalar].
+			all equal to [page:Float scalar].
 		</p>
 
 		<h3>[method:this setX]( [param:Float x] )</h3>

+ 0 - 10
docs/api/fr/constants/Textures.html

@@ -147,8 +147,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat
-		THREE.LuminanceAlphaFormat
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -177,14 +175,6 @@
 		Les texels sont lus comme des entiers au lieu de points flottants.
 		<br /><br />
 
-		[page:constant LuminanceFormat] lit chaque élément comme une seule composante de luminance.
-		Celui-ci est ensuite converti en point flottant, fixé dans l'intervalle [0,1], puis assemblé
-		dans un élément RGBA en plaçant la valeur de luminance dans les canaux rouge, vert et bleu,
-		et en assignant 1.0 au canal alpha.<br /><br />
-
-		[page:constant LuminanceAlphaFormat] lit chaque élément comme une composante de luminance/double alpha.
-		Il s'agit du même procédé que pour [page:constant LuminanceFormat], sauf que le canal alpha peut avoir une autre valeur que `1.0`.<br /><br />
-
 		[page:constant DepthFormat] lit chaque élément comme une seule valeur de profondeur, les converti en point flottant, fixé dans l'intervalle [0,1].
 		C'est la valeur par défaut pour [page:DepthTexture DepthTexture].<br /><br />
 

+ 3 - 2
docs/api/fr/geometries/CapsuleGeometry.html

@@ -44,13 +44,14 @@
 
 		<h2>Constructeur</h2>
 
-		<h3>[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])</h3>
+		<h3>[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])</h3>
 		<p>
 
 		radius — Rayon de la capsule. Optionnel; par défaut à 1.<br />
-		length — Longueur de la section médiane. Optionnel; par défaut à 1.<br />
+		height — Hauteur de la section médiane. Optionnel; par défaut à 1.<br />
 		capSegments — Nombre de segments de courbe utilisés pour construire les demi-sphères. Optionnel; par défaut à 4.<br />
 		radialSegments — Nombre de faces segmentées autour de la circonférence de la capsule. Optionnel; par défaut à 8.<br />
+		heightSegments — Nombre de faces rectangulaires segmentées sur la hauteur de la capsule. Optionnel; par défaut à 1.<br />
 		</p>
 
 		<h2>Propriétés</h2>

+ 0 - 10
docs/api/it/constants/Textures.html

@@ -143,8 +143,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat
-		THREE.LuminanceAlphaFormat
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -169,14 +167,6 @@
       [page:constant RGBAIntegerFormat] è l'impostazione di default e legge i componenti rosso, verde, blu e alfa.
       I texel sono letti come numeri interi invece che come floating point.<br /><br />
 
-      [page:constant LuminanceFormat] legge ogni elemento come un singolo componente di luminanza.
-      Questo viene quindi convertito in floating point, fissato all'intervallo [0,1], e quindi assemblato
-      in un elemento RGBA posizionando il valore di luminanza nei canali rosso, verde e blu, e allegando
-      1.0 al canale alfa.<br /><br />
-
-      [page:constant LuminanceAlphaFormat] legge ogni elemento come un doppio luminanza/alfa. Lo stesso processo si verifica
-      come per [page:constant LuminanceFormat], tranne per il fatto che il canale alfa può avere valori diversi da `1.0`.<br /><br />
-
       [page:constant DepthFormat] legge ogni elemento come un singolo valore depth, lo converte in floating point e si blocca 
       nell'intervallo [0,1]. Questa è l'impostazione predefinita per [page:DepthTexture DepthTexture].<br /><br />
 

+ 3 - 2
docs/api/it/geometries/CapsuleGeometry.html

@@ -44,13 +44,14 @@
 
 		<h2>Costruttore</h2>
 
-		<h3>[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])</h3>
+		<h3>[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])</h3>
 		<p>
 
 		radius — Raggio della capsula. Opzionale; il valore predefinito è 1.<br />
-		length — Lunghezza della sezione centrale. Opzionale; il valore predefinito è 1.<br />
+		height — Altezza della sezione centrale. Opzionale; il valore predefinito è 1.<br />
 		capSegments — Numero di segmenti curvi utilizzato per costruire i tappi della capsula. Opzionale; il valore predefinito è 4.<br />
 		radialSegments — Numero di facce segmentate attorno alla circonferenza della capsula. Opzionale; il valore predefinito è 8.<br />
+		heightSegments — Numero di facce rettangolari segmentate sull'altezza della capsula. Opzionale; il valore predefinito è 1.<br />
 		</p>
 
 		<h2>Proprietà</h2>

+ 0 - 10
docs/api/ko/constants/Textures.html

@@ -144,8 +144,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat
-		THREE.LuminanceAlphaFormat
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -174,14 +172,6 @@
 		texel은 부동 소수점 대신 정수로 읽어들입니다.
 		<br /><br />
 
-		[page:constant LuminanceFormat]은 각 요소(element)를 단일 휘도 요소(component)로 읽어들입니다.
-		그 다음에 부동 소수점으로 변환되어 [0,1] 범위에 고정한 다음
-		휘도 값을 적색, 녹색 및 청색 채널에 배치하고 1.0을 알파 채널에 할당하여 RGBA 요소로 조립합니다.<br /><br />
-
-		[page:constant LuminanceAlphaFormat]은 각 요소(element)를 휘도/알파 소수로 읽어들입니다.
-		The same process occurs as for the [page:constant LuminanceFormat]와 같은 절차가 이루어지며, 알파 채널에 *1.0* 이외의 값이 들어갈 수 있다는 점만 다릅니다.
-		<br /><br />
-
 		[page:constant DepthFormat]은 각 요소를 단일 깊이 값으로 일거들이며 부동 소수점으로 변환하고, [0,1]범위에 고정합니다.
 		[page:DepthTexture DepthTexture]의 기본값이기도 합니다.<br /><br />
 

+ 3 - 2
docs/api/ko/geometries/CapsuleGeometry.html

@@ -45,13 +45,14 @@
 
 		<h2>생성자</h2>
 
-		<h3>[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])</h3>
+		<h3>[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])</h3>
 		<p>
 
 		radius — 캡슐의 반경입니다. Optional; 기본값은 1 입니다.<br />
-		length — 중간 구역의 길이입니다. Optional; 기본값은 1 입니다.<br />
+		height — 중간 구역의 높이입니다. Optional; 기본값은 1 입니다.<br />
 		capSegments — 캡을 구성하는 데 사용된 곡선 면의 수입니다. Optional; 기본값은 4 입니다.<br />
 		radialSegments — 캡슐 둘레 주변의 분할된 면의 수입니다. Optional; 기본값은 8 입니다.<br />
+		heightSegments — 캡슐의 높이에 따라 분할된 면의 수입니다. Optional; 기본값은 1 입니다.<br />
 		</p>
 
 		<h2>프로퍼티</h2>

+ 0 - 11
docs/api/pt-br/constants/Textures.html

@@ -147,8 +147,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat
-		THREE.LuminanceAlphaFormat
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 		</code>
@@ -177,15 +175,6 @@
 		Os texels são lidos como inteiros em vez de ponto flutuante.
 		<br /><br />
 
-		[page:constant LuminanceFormat] lê cada elemento como um único componente de luminância.
-		Este é então convertido em um ponto flutuante, fixado no intervalo [0,1], e então montado
-		em um elemento RGBA, colocando o valor de luminância nos canais vermelho, verde e azul,
-		e anexando 1.0 ao canal alfa.<br /><br />
-
-		[page:constant LuminanceAlphaFormat] lê cada elemento como um duplo de luminância/alfa.
-		O mesmo processo ocorre para o [page:constant LuminanceFormat], exceto que o
-		o canal alfa pode ter valores diferentes de `1.0`.<br /><br />
-
 		[page:constant DepthFormat] lê cada elemento como um único valor de profundidade, converte-o em ponto flutuante e fixa no intervalo [0,1].
 		Este é o padrão para [page:DepthTexture DepthTexture].<br /><br />
 

+ 0 - 8
docs/api/zh/constants/Textures.html

@@ -137,8 +137,6 @@
 		THREE.RGBFormat
 		THREE.RGBAFormat
 		THREE.RGBAIntegerFormat
-		THREE.LuminanceFormat
-		THREE.LuminanceAlphaFormat
 		THREE.DepthFormat
 		THREE.DepthStencilFormat
 	</code>
@@ -166,12 +164,6 @@
 		The texels are read as integers instead of floating point.
 		<br /><br />
 
-		[page:constant LuminanceFormat] 将每个元素作为单独的亮度分量来读取。
-		将其转换为范围限制在[0,1]区间的浮点数,然后通过将亮度值放入红、绿、蓝通道,并将1.0赋给Alpha通道,来组装成一个RGBA元素。<br /><br />
-
-		[page:constant LuminanceAlphaFormat] 将每个元素同时作为亮度分量和Alpha分量来读取。
-		和上面[page:constant LuminanceFormat]的处理过程是一致的,除了Alpha分量具有除了*1.0*以外的值。<br /><br />
-
 		[page:constant DepthFormat]将每个元素作为单独的深度值来读取,将其转换为范围限制在[0,1]区间的浮点数。
 		它是[page:DepthTexture DepthTexture]的默认值。<br /><br />
 

+ 3 - 2
docs/api/zh/geometries/CapsuleGeometry.html

@@ -47,13 +47,14 @@ const capsule = new THREE.Mesh( geometry, material ); scene.add( capsule );
 		<h2>构造函数</h2>
 
 		<h3>
-			[name]([param:Float radius], [param:Float length], [param:Integer capSegments], [param:Integer radialSegments])
+			[name]([param:Float radius], [param:Float height], [param:Integer capSegments], [param:Integer radialSegments], [param:Integer heightSegments])
 		</h3>
 		<p>
 			radius — 胶囊半径。可选的; 默认值为1。<br />
-			length — 中间区域的长度。可选的; 默认值为1。<br />
+			height — 中间区域的高度。可选的; 默认值为1。<br />
 			capSegments — 构造盖子的曲线部分的个数。可选的; 默认值为4。<br />
 			radialSegments — 覆盖胶囊圆周的分离的面的个数。可选的; 默认值为8。<br />
+			heightSegments — 胶囊侧面沿其高度的段数,默认值为 1。<br />
 		</p>
 
 		<h2>属性</h2>

+ 1 - 1
docs/examples/en/controls/ArcballControls.html

@@ -16,7 +16,7 @@
 		Cursor/finger positions and movements are mapped over a virtual trackball surface
 		represented by a gizmo and mapped in intuitive and consistent camera movements.
 		Dragging cursor/fingers will cause camera to orbit around the center of the trackball in a conservative way (returning to the starting point
-		will make the camera to return to its starting orientation).<br><br>
+		will make the camera return to its starting orientation).<br><br>
 
 		In addition to supporting pan, zoom and pinch gestures, Arcball controls provide <i>focus</i> functionality with a double click/tap for
 		intuitively moving the object's point of interest in the center of the virtual trackball.

+ 6 - 4
docs/scenes/geometry-browser.html

@@ -166,15 +166,16 @@
 
 					const data = {
 						radius: 5,
-						length: 5,
+						height: 5,
 						capSegments: 10,
-						radialSegments: 20
+						radialSegments: 20,
+						heightSegments: 1
 					};
 
 					function generateGeometry() {
 
 						updateGroupGeometry( mesh,
-							new CapsuleGeometry( data.radius, data.length, data.capSegments, data.radialSegments ),
+							new CapsuleGeometry( data.radius, data.height, data.capSegments, data.radialSegments, data.heightSegments ),
 						);
 
 					}
@@ -182,9 +183,10 @@
 					const folder = gui.addFolder( 'THREE.CapsuleGeometry' );
 
 					folder.add( data, 'radius', 1, 30 ).onChange( generateGeometry );
-					folder.add( data, 'length', 1, 30 ).onChange( generateGeometry );
+					folder.add( data, 'height', 1, 30 ).onChange( generateGeometry );
 					folder.add( data, 'capSegments', 1, 32 ).step( 1 ).onChange( generateGeometry );
 					folder.add( data, 'radialSegments', 1, 64 ).step( 1 ).onChange( generateGeometry );
+					folder.add( data, 'heightSegments', 1, 64 ).step( 1 ).onChange( generateGeometry );
 
 					generateGeometry();
 

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

@@ -81,7 +81,7 @@ function MenubarAdd( editor ) {
 	option.setTextContent( strings.getKey( 'menubar/add/mesh/capsule' ) );
 	option.onClick( function () {
 
-		const geometry = new THREE.CapsuleGeometry( 1, 1, 4, 8 );
+		const geometry = new THREE.CapsuleGeometry( 1, 1, 4, 8, 1 );
 		const material = new THREE.MeshStandardMaterial();
 		const mesh = new THREE.Mesh( geometry, material );
 		mesh.name = 'Capsule';

+ 21 - 9
editor/js/Sidebar.Geometry.CapsuleGeometry.js

@@ -24,15 +24,15 @@ function GeometryParametersPanel( editor, object ) {
 
 	container.add( radiusRow );
 
-	// length
+	// height
 
-	const lengthRow = new UIRow();
-	const length = new UINumber( parameters.length ).onChange( update );
+	const heightRow = new UIRow();
+	const height = new UINumber( parameters.height ).onChange( update );
 
-	lengthRow.add( new UIText( strings.getKey( 'sidebar/geometry/capsule_geometry/length' ) ).setClass( 'Label' ) );
-	lengthRow.add( length );
+	heightRow.add( new UIText( strings.getKey( 'sidebar/geometry/capsule_geometry/height' ) ).setClass( 'Label' ) );
+	heightRow.add( height );
 
-	container.add( lengthRow );
+	container.add( heightRow );
 
 	// capSegments
 
@@ -54,6 +54,16 @@ function GeometryParametersPanel( editor, object ) {
 
 	container.add( radialSegmentsRow );
 
+	// heightSegments
+
+	const heightSegmentsRow = new UIRow();
+	const heightSegments = new UIInteger( parameters.heightSegments ).setRange( 1, Infinity ).onChange( update );
+
+	heightSegmentsRow.add( new UIText( strings.getKey( 'sidebar/geometry/capsule_geometry/heightseg' ) ).setClass( 'Label' ) );
+	heightSegmentsRow.add( heightSegments );
+
+	container.add( heightSegmentsRow );
+
 	//
 
 	function refreshUI() {
@@ -61,9 +71,10 @@ function GeometryParametersPanel( editor, object ) {
 		const parameters = object.geometry.parameters;
 
 		radius.setValue( parameters.radius );
-		length.setValue( parameters.length );
+		height.setValue( parameters.height );
 		capSegments.setValue( parameters.capSegments );
 		radialSegments.setValue( parameters.radialSegments );
+		heightSegments.setValue( parameters.heightSegments );
 
 	}
 
@@ -83,9 +94,10 @@ function GeometryParametersPanel( editor, object ) {
 
 		editor.execute( new SetGeometryCommand( editor, object, new THREE.CapsuleGeometry(
 			radius.getValue(),
-			length.getValue(),
+			height.getValue(),
 			capSegments.getValue(),
-			radialSegments.getValue()
+			radialSegments.getValue(),
+			heightSegments.getValue()
 		) ) );
 
 	}

+ 12 - 6
editor/js/Strings.js

@@ -179,9 +179,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': 'صفات نسبی (رلتیو)',
 
 			'sidebar/geometry/capsule_geometry/radius': 'شعاع',
-			'sidebar/geometry/capsule_geometry/length': 'طول',
+			'sidebar/geometry/capsule_geometry/height': 'ارتفاع',
 			'sidebar/geometry/capsule_geometry/capseg': 'Cap Seg',
 			'sidebar/geometry/capsule_geometry/radialseg': 'Radial Seg',
+			'sidebar/geometry/capsule_geometry/heightseg': 'Height Seg',
 
 			'sidebar/geometry/circle_geometry/radius': 'شعاع',
 			'sidebar/geometry/circle_geometry/segments': 'بخش ها',
@@ -580,9 +581,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': 'Morph Relative',
 
 			'sidebar/geometry/capsule_geometry/radius': 'Radius',
-			'sidebar/geometry/capsule_geometry/length': 'Length',
+			'sidebar/geometry/capsule_geometry/height': 'Height',
 			'sidebar/geometry/capsule_geometry/capseg': 'Cap Seg',
 			'sidebar/geometry/capsule_geometry/radialseg': 'Radial Seg',
+			'sidebar/geometry/capsule_geometry/heightseg': 'Height Seg',
 
 			'sidebar/geometry/circle_geometry/radius': 'Radius',
 			'sidebar/geometry/circle_geometry/segments': 'Segments',
@@ -982,9 +984,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': 'Morph Relative',
 
 			'sidebar/geometry/capsule_geometry/radius': 'Radius',
-			'sidebar/geometry/capsule_geometry/length': 'Length',
+			'sidebar/geometry/capsule_geometry/height': 'Hauteur',
 			'sidebar/geometry/capsule_geometry/capseg': 'Cap Seg',
 			'sidebar/geometry/capsule_geometry/radialseg': 'Radial Seg',
+			'sidebar/geometry/capsule_geometry/heightseg': 'Height Seg',
 
 			'sidebar/geometry/circle_geometry/radius': 'Rayon',
 			'sidebar/geometry/circle_geometry/segments': 'Segments',
@@ -1384,9 +1387,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': '相对变形',
 
 			'sidebar/geometry/capsule_geometry/radius': '半径',
-			'sidebar/geometry/capsule_geometry/length': '长度',
+			'sidebar/geometry/capsule_geometry/height': '高度',
 			'sidebar/geometry/capsule_geometry/capseg': '胶囊分段',
 			'sidebar/geometry/capsule_geometry/radialseg': '半径分段',
+			'sidebar/geometry/capsule_geometry/heightseg': '高度分段',
 
 			'sidebar/geometry/circle_geometry/radius': '半径',
 			'sidebar/geometry/circle_geometry/segments': '分段',
@@ -1786,9 +1790,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': '相対モーフ',
 
 			'sidebar/geometry/capsule_geometry/radius': '半径',
-			'sidebar/geometry/capsule_geometry/length': '長さ',
+			'sidebar/geometry/capsule_geometry/height': '高さ',
 			'sidebar/geometry/capsule_geometry/capseg': 'キャップの分割数',
 			'sidebar/geometry/capsule_geometry/radialseg': '円の分割数',
+			'sidebar/geometry/capsule_geometry/heightseg': '高さの分割数',
 
 			'sidebar/geometry/circle_geometry/radius': '半径',
 			'sidebar/geometry/circle_geometry/segments': 'セグメント',
@@ -2187,9 +2192,10 @@ function Strings( config ) {
 			'sidebar/geometry/buffer_geometry/morphRelative': '상대적 모프',
 
 			'sidebar/geometry/capsule_geometry/radius': '반지름',
-			'sidebar/geometry/capsule_geometry/length': '길이',
+			'sidebar/geometry/capsule_geometry/height': '높이',
 			'sidebar/geometry/capsule_geometry/capseg': '캡 분할 수',
 			'sidebar/geometry/capsule_geometry/radialseg': '방사 분할 수',
+			'sidebar/geometry/capsule_geometry/heightseg': '높이 분할 수',
 
 			'sidebar/geometry/circle_geometry/radius': '반지름',
 			'sidebar/geometry/circle_geometry/segments': '세그먼트',

+ 6 - 0
editor/js/commands/MoveObjectCommand.js

@@ -50,6 +50,9 @@ class MoveObjectCommand extends Command {
 		this.object.parent = this.newParent;
 
 		this.object.dispatchEvent( { type: 'added' } );
+		this.editor.signals.objectChanged.dispatch( this.object );
+		this.editor.signals.objectChanged.dispatch( this.newParent );
+		this.editor.signals.objectChanged.dispatch( this.oldParent );
 		this.editor.signals.sceneGraphChanged.dispatch();
 
 	}
@@ -63,6 +66,9 @@ class MoveObjectCommand extends Command {
 		this.object.parent = this.oldParent;
 
 		this.object.dispatchEvent( { type: 'added' } );
+		this.editor.signals.objectChanged.dispatch( this.object );
+		this.editor.signals.objectChanged.dispatch( this.newParent );
+		this.editor.signals.objectChanged.dispatch( this.oldParent );
 		this.editor.signals.sceneGraphChanged.dispatch();
 
 	}

+ 2 - 2
editor/js/libs/tern-threejs/threejs.js

@@ -4556,7 +4556,7 @@
         },
         "format": {
           "!type": "number",
-          "!doc": "The default is THREE.RGBAFormat for the texture. Other formats are: THREE.AlphaFormat, THREE.RGBFormat, THREE.LuminanceFormat, and THREE.LuminanceAlphaFormat. There are also compressed texture formats, if the S3TC extension is supported: THREE.RGB_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT3_Format, and THREE.RGBA_S3TC_DXT5_Format."
+          "!doc": "The default is THREE.RGBAFormat for the texture. Other formats are: THREE.AlphaFormat, THREE.RGBFormat. There are also compressed texture formats, if the S3TC extension is supported: THREE.RGB_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT3_Format, and THREE.RGBA_S3TC_DXT5_Format."
         },
         "type": {
           "!type": "number",
@@ -4970,7 +4970,7 @@
         },
         "format": {
           "!type": "number",
-          "!doc": "The default is THREE.RGBAFormat for the texture. Other formats are: THREE.AlphaFormat, THREE.RGBFormat, THREE.LuminanceFormat, and THREE.LuminanceAlphaFormat. There are also compressed texture formats, if the S3TC extension is supported: THREE.RGB_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT3_Format, and THREE.RGBA_S3TC_DXT5_Format."
+          "!doc": "The default is THREE.RGBAFormat for the texture. Other formats are: THREE.AlphaFormat, THREE.RGBFormat. There are also compressed texture formats, if the S3TC extension is supported: THREE.RGB_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT1_Format, THREE.RGBA_S3TC_DXT3_Format, and THREE.RGBA_S3TC_DXT5_Format."
         },
         "type": {
           "!type": "number",

+ 11 - 1
examples/files.json

@@ -307,6 +307,8 @@
 		"webgpu_camera",
 		"webgpu_camera_array",
 		"webgpu_camera_logarithmicdepthbuffer",
+		"webgpu_caustics",
+		"webgpu_centroid_sampling",
 		"webgpu_clearcoat",
 		"webgpu_clipping",
 		"webgpu_compute_audio",
@@ -419,6 +421,7 @@
 		"webgpu_sandbox",
 		"webgpu_shadertoy",
 		"webgpu_shadowmap",
+		"webgpu_shadowmap_array",
 		"webgpu_shadowmap_csm",
 		"webgpu_shadowmap_opacity",
 		"webgpu_shadowmap_progressive",
@@ -451,6 +454,7 @@
 		"webgpu_tsl_vfx_tornado",
 		"webgpu_video_frame",
 		"webgpu_video_panorama",
+		"webgpu_volume_caustics",
 		"webgpu_volume_cloud",
 		"webgpu_volume_lighting",
 		"webgpu_volume_lighting_rectarea",
@@ -503,7 +507,13 @@
 		"physics_ammo_terrain",
 		"physics_ammo_volume",
 		"physics_jolt_instancing",
-		"physics_rapier_instancing"
+		"physics_rapier_basic",
+		"physics_rapier_instancing",
+		"physics_rapier_joints",
+		"physics_rapier_character_controller",
+		"physics_rapier_vehicle_controller",
+		"physics_rapier_terrain"
+
 	],
 	"misc": [
 		"misc_animation_groups",

+ 8 - 0
examples/index.html

@@ -10,6 +10,14 @@
 	</head>
 	<body>
 
+		<script async src="https://www.googletagmanager.com/gtag/js?id=G-JPPX9MZGZ4"></script>
+		<script>
+			window.dataLayer = window.dataLayer || [];
+			function gtag(){dataLayer.push(arguments);}
+			gtag('js', new Date());
+			gtag('config', 'G-JPPX9MZGZ4');
+		</script>
+
 		<div id="panel">
 
 			<div id="header">

+ 1 - 0
examples/jsm/animation/AnimationClipCreator.js

@@ -11,6 +11,7 @@ import {
  * A utility class with factory methods for creating basic animation clips.
  *
  * @hideconstructor
+ * @three_import import { AnimationClipCreator } from 'three/addons/animation/AnimationClipCreator.js';
  */
 class AnimationClipCreator {
 

+ 6 - 3
examples/jsm/animation/CCDIKSolver.js

@@ -13,7 +13,7 @@ import {
 	Vector3
 } from 'three';
 
-const _q = new Quaternion();
+const _quaternion = new Quaternion();
 const _targetPos = new Vector3();
 const _targetVec = new Vector3();
 const _effectorPos = new Vector3();
@@ -29,6 +29,8 @@ const _matrix = new Matrix4();
  * This class solves the Inverse Kinematics Problem with a [CCD Algorithm]{@link https://web.archive.org/web/20221206080850/https://sites.google.com/site/auraliusproject/ccd-algorithm}.
  *
  * `CCDIKSolver` is designed to work with instances of {@link SkinnedMesh}.
+ *
+ * @three_import import { CCDIKSolver } from 'three/addons/animation/CCDIKSolver.js';
  */
 class CCDIKSolver {
 
@@ -192,8 +194,8 @@ class CCDIKSolver {
 				_axis.crossVectors( _effectorVec, _targetVec );
 				_axis.normalize();
 
-				_q.setFromAxisAngle( _axis, angle );
-				link.quaternion.multiply( _q );
+				_quaternion.setFromAxisAngle( _axis, angle );
+				link.quaternion.multiply( _quaternion );
 
 				// TODO: re-consider the limitation specification
 				if ( limitation !== undefined ) {
@@ -322,6 +324,7 @@ function setPositionOfBoneToAttributeArray( array, index, bone, matrixWorldInv )
  * Helper for visualizing IK bones.
  *
  * @augments Object3D
+ * @three_import import { CCDIKHelper } from 'three/addons/animation/CCDIKSolver.js';
  */
 class CCDIKHelper extends Object3D {
 

+ 1 - 0
examples/jsm/capabilities/WebGL.js

@@ -2,6 +2,7 @@
  * A utility module with basic WebGL 2 capability testing.
  *
  * @hideconstructor
+ * @three_import import WebGL from 'three/addons/capabilities/WebGL.js';
  */
 class WebGL {
 

+ 1 - 0
examples/jsm/capabilities/WebGPU.js

@@ -10,6 +10,7 @@ if ( typeof window !== 'undefined' && isAvailable ) {
  * A utility module with basic WebGPU capability testing.
  *
  * @hideconstructor
+ * @three_import import WebGPU from 'three/addons/capabilities/WebGPU.js';
  */
 class WebGPU {
 

+ 2 - 1
examples/jsm/controls/ArcballControls.js

@@ -96,7 +96,7 @@ const _EPS = 0.000001;
  * Arcball controls allow the camera to be controlled by a virtual trackball with full touch support and advanced navigation functionality.
  * Cursor/finger positions and movements are mapped over a virtual trackball surface represented by a gizmo and mapped in intuitive and
  * consistent camera movements. Dragging cursor/fingers will cause camera to orbit around the center of the trackball in a conservative
- * way (returning to the starting point will make the camera to return to its starting orientation).
+ * way (returning to the starting point will make the camera return to its starting orientation).
  *
  * In addition to supporting pan, zoom and pinch gestures, Arcball controls provide focus< functionality with a double click/tap for intuitively
  * moving the object's point of interest in the center of the virtual trackball. Focus allows a much better inspection and navigation in complex
@@ -107,6 +107,7 @@ const _EPS = 0.000001;
  * animation loop when animations are on.
  *
  * @augments Controls
+ * @three_import import { ArcballControls } from 'three/addons/controls/ArcballControls.js';
  */
 class ArcballControls extends Controls {
 

+ 1 - 0
examples/jsm/controls/DragControls.js

@@ -52,6 +52,7 @@ const STATE = {
  * ```
  *
  * @augments Controls
+ * @three_import import { DragControls } from 'three/addons/controls/DragControls.js';
  */
 class DragControls extends Controls {
 

+ 1 - 0
examples/jsm/controls/FirstPersonControls.js

@@ -14,6 +14,7 @@ const _targetPosition = new Vector3();
  * This class is an alternative implementation of {@link FlyControls}.
  *
  * @augments Controls
+ * @three_import import { FirstPersonControls } from 'three/addons/controls/FirstPersonControls.js';
  */
 class FirstPersonControls extends Controls {
 

+ 1 - 0
examples/jsm/controls/FlyControls.js

@@ -21,6 +21,7 @@ const _tmpQuaternion = new Quaternion();
  * (e.g. focus on a specific target).
  *
  * @augments Controls
+ * @three_import import { FlyControls } from 'three/addons/controls/FlyControls.js';
  */
 class FlyControls extends Controls {
 

+ 1 - 0
examples/jsm/controls/MapControls.js

@@ -12,6 +12,7 @@ import { OrbitControls } from './OrbitControls.js';
  * - Pan: Left mouse, or arrow keys / touch: one-finger move.
  *
  * @augments OrbitControls
+ * @three_import import { MapControls } from 'three/addons/controls/MapControls.js';
  */
 class MapControls extends OrbitControls {
 

+ 1 - 0
examples/jsm/controls/OrbitControls.js

@@ -83,6 +83,7 @@ const _EPS = 0.000001;
  * ```
  *
  * @augments Controls
+ * @three_import import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
  */
 class OrbitControls extends Controls {
 

+ 5 - 3
examples/jsm/controls/PointerLockControls.js

@@ -31,6 +31,7 @@ const _lockEvent = { type: 'lock' };
  */
 const _unlockEvent = { type: 'unlock' };
 
+const _MOUSE_SENSITIVITY = 0.002;
 const _PI_2 = Math.PI / 2;
 
 /**
@@ -55,6 +56,7 @@ const _PI_2 = Math.PI / 2;
  * ```
  *
  * @augments Controls
+ * @three_import import { PointerLockControls } from 'three/addons/controls/PointerLockControls.js';
  */
 class PointerLockControls extends Controls {
 
@@ -200,7 +202,7 @@ class PointerLockControls extends Controls {
 
 	/**
 	 * Activates the pointer lock.
-	 * 
+	 *
 	 * @param {boolean} [unadjustedMovement=false] - Disables OS-level adjustment for mouse acceleration, and accesses raw mouse input instead.
 	 * Setting it to true will disable mouse acceleration.
 	 */
@@ -232,8 +234,8 @@ function onMouseMove( event ) {
 	const camera = this.object;
 	_euler.setFromQuaternion( camera.quaternion );
 
-	_euler.y -= event.movementX * 0.002 * this.pointerSpeed;
-	_euler.x -= event.movementY * 0.002 * this.pointerSpeed;
+	_euler.y -= event.movementX * _MOUSE_SENSITIVITY * this.pointerSpeed;
+	_euler.x -= event.movementY * _MOUSE_SENSITIVITY * this.pointerSpeed;
 
 	_euler.x = Math.max( _PI_2 - this.maxPolarAngle, Math.min( _PI_2 - this.minPolarAngle, _euler.x ) );
 

+ 1 - 0
examples/jsm/controls/TrackballControls.js

@@ -51,6 +51,7 @@ const _moveDirection = new Vector3();
  * to stay "right side up".
  *
  * @augments Controls
+ * @three_import import { TrackballControls } from 'three/addons/controls/TrackballControls.js';
  */
 class TrackballControls extends Controls {
 

+ 1 - 0
examples/jsm/controls/TransformControls.js

@@ -72,6 +72,7 @@ const _objectChangeEvent = { type: 'objectChange' };
  * `TransformControls` expects that its attached 3D object is part of the scene graph.
  *
  * @augments Controls
+ * @three_import import { TransformControls } from 'three/addons/controls/TransformControls.js';
  */
 class TransformControls extends Controls {
 

+ 2 - 0
examples/jsm/csm/CSM.js

@@ -25,6 +25,8 @@ const _up = new Vector3( 0, 1, 0 );
  *
  * This module can only be used with {@link WebGLRenderer}. When using {@link WebGPURenderer},
  * use {@link CSMShadowNode} instead.
+ *
+ * @three_import import { CSM } from 'three/addons/csm/CSM.js';
  */
 export class CSM {
 

+ 2 - 0
examples/jsm/csm/CSMFrustum.js

@@ -4,6 +4,8 @@ const inverseProjectionMatrix = new Matrix4();
 
 /**
  * Represents the frustum of a CSM instance.
+ *
+ * @three_import import { CSMFrustum } from 'three/addons/csm/CSMFrustum.js';
  */
 class CSMFrustum {
 

+ 1 - 0
examples/jsm/csm/CSMHelper.js

@@ -16,6 +16,7 @@ import {
  * A helper for visualizing the cascades of a CSM instance.
  *
  * @augments Group
+ * @three_import import { CSMHelper } from 'three/addons/csm/CSMHelper.js';
  */
 class CSMHelper extends Group {
 

+ 4 - 1
examples/jsm/csm/CSMShader.js

@@ -1,6 +1,9 @@
 import { ShaderChunk } from 'three';
 
-/** @module CSMShader */
+/**
+ * @module CSMShader
+ * @three_import import { CSMShader } from 'three/addons/csm/CSMShader.js';
+ */
 
 /**
  * The object that holds the GLSL enhancements to enable CSM. This

+ 1 - 0
examples/jsm/csm/CSMShadowNode.js

@@ -42,6 +42,7 @@ class LwLight extends Object3D {
  * use {@link CSM} instead.
  *
  * @augments ShadowBaseNode
+ * @three_import import { CSMShadowNode } from 'three/addons/csm/CSMShadowNode.js';
  */
 class CSMShadowNode extends ShadowBaseNode {
 

+ 14 - 0
examples/jsm/curves/CurveExtras.js

@@ -17,6 +17,7 @@ import {
  * A Granny Knot curve.
  *
  * @augments Curve
+ * @three_import import { GrannyKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class GrannyKnot extends Curve {
 
@@ -47,6 +48,7 @@ class GrannyKnot extends Curve {
  * A heart curve.
  *
  * @augments Curve
+ * @three_import import { HeartCurve } from 'three/addons/curves/CurveExtras.js';
  */
 class HeartCurve extends Curve {
 
@@ -96,6 +98,7 @@ class HeartCurve extends Curve {
  * A Viviani curve.
  *
  * @augments Curve
+ * @three_import import { VivianiCurve } from 'three/addons/curves/CurveExtras.js';
  */
 class VivianiCurve extends Curve {
 
@@ -146,6 +149,7 @@ class VivianiCurve extends Curve {
  * A knot curve.
  *
  * @augments Curve
+ * @three_import import { KnotCurve } from 'three/addons/curves/CurveExtras.js';
  */
 class KnotCurve extends Curve {
 
@@ -179,6 +183,7 @@ class KnotCurve extends Curve {
  * A helix curve.
  *
  * @augments Curve
+ * @three_import import { HelixCurve } from 'three/addons/curves/CurveExtras.js';
  */
 class HelixCurve extends Curve {
 
@@ -212,6 +217,7 @@ class HelixCurve extends Curve {
  * A Trefoil Knot.
  *
  * @augments Curve
+ * @three_import import { TrefoilKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class TrefoilKnot extends Curve {
 
@@ -261,6 +267,7 @@ class TrefoilKnot extends Curve {
  * A torus knot.
  *
  * @augments Curve
+ * @three_import import { TorusKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class TorusKnot extends Curve {
 
@@ -313,6 +320,7 @@ class TorusKnot extends Curve {
  * A Cinquefoil Knot.
  *
  * @augments Curve
+ * @three_import import { CinquefoilKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class CinquefoilKnot extends Curve {
 
@@ -365,6 +373,7 @@ class CinquefoilKnot extends Curve {
  * A Trefoil Polynomial Knot.
  *
  * @augments Curve
+ * @three_import import { TrefoilPolynomialKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class TrefoilPolynomialKnot extends Curve {
 
@@ -421,6 +430,7 @@ function scaleTo( x, y, t ) {
  * A Figure Eight Polynomial Knot.
  *
  * @augments Curve
+ * @three_import import { FigureEightPolynomialKnot } from 'three/addons/curves/CurveExtras.js';
  */
 class FigureEightPolynomialKnot extends Curve {
 
@@ -470,6 +480,7 @@ class FigureEightPolynomialKnot extends Curve {
  * A Decorated Torus Knot 4a.
  *
  * @augments Curve
+ * @three_import import { DecoratedTorusKnot4a } from 'three/addons/curves/CurveExtras.js';
  */
 class DecoratedTorusKnot4a extends Curve {
 
@@ -519,6 +530,7 @@ class DecoratedTorusKnot4a extends Curve {
  * A Decorated Torus Knot 4b.
  *
  * @augments Curve
+ * @three_import import { DecoratedTorusKnot4b } from 'three/addons/curves/CurveExtras.js';
  */
 class DecoratedTorusKnot4b extends Curve {
 
@@ -568,6 +580,7 @@ class DecoratedTorusKnot4b extends Curve {
  * A Decorated Torus Knot 5a.
  *
  * @augments Curve
+ * @three_import import { DecoratedTorusKnot5a } from 'three/addons/curves/CurveExtras.js';
  */
 class DecoratedTorusKnot5a extends Curve {
 
@@ -617,6 +630,7 @@ class DecoratedTorusKnot5a extends Curve {
  * A Decorated Torus Knot 5c.
  *
  * @augments Curve
+ * @three_import import { DecoratedTorusKnot5c } from 'three/addons/curves/CurveExtras.js';
  */
 class DecoratedTorusKnot5c extends Curve {
 

+ 1 - 0
examples/jsm/curves/NURBSCurve.js

@@ -11,6 +11,7 @@ import * as NURBSUtils from '../curves/NURBSUtils.js';
  * Implementation is based on `(x, y [, z=0 [, w=1]])` control points with `w=weight`.
  *
  * @augments Curve
+ * @three_import import { NURBSCurve } from 'three/addons/curves/NURBSCurve.js';
  */
 class NURBSCurve extends Curve {
 

+ 2 - 0
examples/jsm/curves/NURBSSurface.js

@@ -7,6 +7,8 @@ import * as NURBSUtils from '../curves/NURBSUtils.js';
  * This class represents a NURBS surface.
  *
  * Implementation is based on `(x, y [, z=0 [, w=1]])` control points with `w=weight`.
+ *
+ * @three_import import { NURBSSurface } from 'three/addons/curves/NURBSSurface.js';
  */
 class NURBSSurface {
 

+ 4 - 1
examples/jsm/curves/NURBSUtils.js

@@ -3,7 +3,10 @@ import {
 	Vector4
 } from 'three';
 
-/** @module NURBSUtils */
+/**
+ * @module NURBSUtils
+ * @three_import import * as NURBSUtils from 'three/addons/curves/NURBSUtils.js';
+ */
 
 /**
  * Finds knot vector span.

+ 2 - 0
examples/jsm/curves/NURBSVolume.js

@@ -7,6 +7,8 @@ import * as NURBSUtils from '../curves/NURBSUtils.js';
  * This class represents a NURBS volume.
  *
  * Implementation is based on `(x, y [, z=0 [, w=1]])` control points with `w=weight`.
+ *
+ * @three_import import { NURBSVolume } from 'three/addons/curves/NURBSVolume.js';
  */
 class NURBSVolume {
 

+ 2 - 0
examples/jsm/effects/AnaglyphEffect.js

@@ -14,6 +14,8 @@ import { FullScreenQuad } from '../postprocessing/Pass.js';
  *
  * Note that this class can only be used with {@link WebGLRenderer}.
  * When using {@link WebGPURenderer}, use {@link AnaglyphPassNode}.
+ *
+ * @three_import import { AnaglyphEffect } from 'three/addons/effects/AnaglyphEffect.js';
  */
 class AnaglyphEffect {
 

+ 2 - 0
examples/jsm/effects/AsciiEffect.js

@@ -2,6 +2,8 @@
  * A class that creates an ASCII effect.
  *
  * The ASCII generation is based on [jsascii]{@link https://github.com/hassadee/jsascii/blob/master/jsascii.js}.
+ *
+ * @three_import import { AsciiEffect } from 'three/addons/effects/AsciiEffect.js';
  */
 class AsciiEffect {
 

+ 2 - 0
examples/jsm/effects/OutlineEffect.js

@@ -21,6 +21,8 @@ import {
  *
  * }
  * ```
+ *
+ * @three_import import { OutlineEffect } from 'three/addons/effects/OutlineEffect.js';
  */
 class OutlineEffect {
 

+ 2 - 0
examples/jsm/effects/ParallaxBarrierEffect.js

@@ -13,6 +13,8 @@ import { FullScreenQuad } from '../postprocessing/Pass.js';
  *
  * Note that this class can only be used with {@link WebGLRenderer}.
  * When using {@link WebGPURenderer}, use {@link ParallaxBarrierPassNode}.
+ *
+ * @three_import import { ParallaxBarrierEffect } from 'three/addons/effects/ParallaxBarrierEffect.js';
  */
 class ParallaxBarrierEffect {
 

+ 2 - 0
examples/jsm/effects/PeppersGhostEffect.js

@@ -8,6 +8,8 @@ import {
  * A class that implements a peppers ghost effect.
  *
  * Reference: [Reflective Prism]{@link http://www.instructables.com/id/Reflective-Prism/?ALLSTEPS}
+ *
+ * @three_import import { PeppersGhostEffect } from 'three/addons/effects/PeppersGhostEffect.js';
  */
 class PeppersGhostEffect {
 

+ 2 - 0
examples/jsm/effects/StereoEffect.js

@@ -8,6 +8,8 @@ import {
  *
  * Note that this class can only be used with {@link WebGLRenderer}.
  * When using {@link WebGPURenderer}, use {@link StereoPassNode}.
+ *
+ * @three_import import { StereoEffect } from 'three/addons/effects/StereoEffect.js';
  */
 class StereoEffect {
 

+ 1 - 0
examples/jsm/environments/DebugEnvironment.js

@@ -26,6 +26,7 @@ import {
  * ```
  *
  * @augments Scene
+ * @three_import import { DebugEnvironment } from 'three/addons/environments/DebugEnvironment.js';
  */
 class DebugEnvironment extends Scene {
 

+ 49 - 35
examples/jsm/environments/RoomEnvironment.js

@@ -1,11 +1,13 @@
 import {
  	BackSide,
  	BoxGeometry,
+ 	InstancedMesh,
  	Mesh,
 	MeshBasicMaterial,
  	MeshStandardMaterial,
  	PointLight,
  	Scene,
+ 	Object3D,
 } from 'three';
 
 /**
@@ -26,6 +28,7 @@ import {
  * ```
  *
  * @augments Scene
+ * @three_import import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js';
  */
 class RoomEnvironment extends Scene {
 
@@ -48,41 +51,52 @@ class RoomEnvironment extends Scene {
 		room.scale.set( 31.713, 28.305, 28.591 );
 		this.add( room );
 
-		const box1 = new Mesh( geometry, boxMaterial );
-		box1.position.set( - 10.906, 2.009, 1.846 );
-		box1.rotation.set( 0, - 0.195, 0 );
-		box1.scale.set( 2.328, 7.905, 4.651 );
-		this.add( box1 );
-
-		const box2 = new Mesh( geometry, boxMaterial );
-		box2.position.set( - 5.607, - 0.754, - 0.758 );
-		box2.rotation.set( 0, 0.994, 0 );
-		box2.scale.set( 1.970, 1.534, 3.955 );
-		this.add( box2 );
-
-		const box3 = new Mesh( geometry, boxMaterial );
-		box3.position.set( 6.167, 0.857, 7.803 );
-		box3.rotation.set( 0, 0.561, 0 );
-		box3.scale.set( 3.927, 6.285, 3.687 );
-		this.add( box3 );
-
-		const box4 = new Mesh( geometry, boxMaterial );
-		box4.position.set( - 2.017, 0.018, 6.124 );
-		box4.rotation.set( 0, 0.333, 0 );
-		box4.scale.set( 2.002, 4.566, 2.064 );
-		this.add( box4 );
-
-		const box5 = new Mesh( geometry, boxMaterial );
-		box5.position.set( 2.291, - 0.756, - 2.621 );
-		box5.rotation.set( 0, - 0.286, 0 );
-		box5.scale.set( 1.546, 1.552, 1.496 );
-		this.add( box5 );
-
-		const box6 = new Mesh( geometry, boxMaterial );
-		box6.position.set( - 2.193, - 0.369, - 5.547 );
-		box6.rotation.set( 0, 0.516, 0 );
-		box6.scale.set( 3.875, 3.487, 2.986 );
-		this.add( box6 );
+		const boxes = new InstancedMesh( geometry, boxMaterial, 6 );
+		const transform = new Object3D();
+
+		// box1
+		transform.position.set( - 10.906, 2.009, 1.846 );
+		transform.rotation.set( 0, - 0.195, 0 );
+		transform.scale.set( 2.328, 7.905, 4.651 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 0, transform.matrix );
+
+		// box2
+		transform.position.set( - 5.607, - 0.754, - 0.758 );
+		transform.rotation.set( 0, 0.994, 0 );
+		transform.scale.set( 1.970, 1.534, 3.955 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 1, transform.matrix );
+
+		// box3
+		transform.position.set( 6.167, 0.857, 7.803 );
+		transform.rotation.set( 0, 0.561, 0 );
+		transform.scale.set( 3.927, 6.285, 3.687 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 2, transform.matrix );
+
+		// box4
+		transform.position.set( - 2.017, 0.018, 6.124 );
+		transform.rotation.set( 0, 0.333, 0 );
+		transform.scale.set( 2.002, 4.566, 2.064 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 3, transform.matrix );
+
+		// box5
+		transform.position.set( 2.291, - 0.756, - 2.621 );
+		transform.rotation.set( 0, - 0.286, 0 );
+		transform.scale.set( 1.546, 1.552, 1.496 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 4, transform.matrix );
+
+		// box6
+		transform.position.set( - 2.193, - 0.369, - 5.547 );
+		transform.rotation.set( 0, 0.516, 0 );
+		transform.scale.set( 3.875, 3.487, 2.986 );
+		transform.updateMatrix();
+		boxes.setMatrixAt( 5, transform.matrix );
+
+		this.add( boxes );
 
 
 		// -x right

+ 3 - 1
examples/jsm/exporters/DRACOExporter.js

@@ -19,6 +19,8 @@ import { Color, ColorManagement, SRGBColorSpace } from 'three';
  * const exporter = new DRACOExporter();
  * const data = exporter.parse( mesh, options );
  * ```
+ *
+ * @three_import import { DRACOExporter } from 'three/addons/exporters/DRACOExporter.js';
  */
 class DRACOExporter {
 
@@ -27,7 +29,7 @@ class DRACOExporter {
 	 *
 	 * @param {(Mesh|Points)} object - The mesh or point cloud to export.
 	 * @param {DRACOExporter~Options} options - The export options.
-	 * @return {ArrayBuffer} The exported Draco.
+	 * @return {Int8Array} The exported Draco.
 	 */
 	parse( object, options = {} ) {
 

+ 2 - 0
examples/jsm/exporters/EXRExporter.js

@@ -26,6 +26,8 @@ const ZIP_COMPRESSION = 3;
  * const exporter = new EXRExporter();
  * const result = await exporter.parse( renderer, options );
  * ```
+ *
+ * @three_import import { EXRExporter } from 'three/addons/exporters/EXRExporter.js';
  */
 class EXRExporter {
 

+ 2 - 0
examples/jsm/exporters/GLTFExporter.js

@@ -97,6 +97,8 @@ const KHR_mesh_quantization_ExtraAttrTypes = {
  * const exporter = new GLTFExporter();
  * const data = await exporter.parseAsync( scene, options );
  * ```
+ *
+ * @three_import import { GLTFExporter } from 'three/addons/exporters/GLTFExporter.js';
  */
 class GLTFExporter {
 

+ 2 - 0
examples/jsm/exporters/KTX2Exporter.js

@@ -134,6 +134,8 @@ const ERROR_COLOR_SPACE = 'THREE.KTX2Exporter: Supported color spaces are SRGBCo
  * const exporter = new KTX2Exporter();
  * const result = await exporter.parse( dataTexture );
  * ```
+ *
+ * @three_import import { KTX2Exporter } from 'three/addons/exporters/KTX2Exporter.js';
  */
 export class KTX2Exporter {
 

+ 2 - 0
examples/jsm/exporters/OBJExporter.js

@@ -16,6 +16,8 @@ import {
  * const exporter = new OBJExporter();
  * const data = exporter.parse( scene );
  * ```
+ *
+ * @three_import import { OBJExporter } from 'three/addons/exporters/OBJExporter.js';
  */
 class OBJExporter {
 

+ 2 - 0
examples/jsm/exporters/PLYExporter.js

@@ -18,6 +18,8 @@ import {
  * const exporter = new PLYExporter();
  * const data = exporter.parse( scene, options );
  * ```
+ *
+ * @three_import import { PLYExporter } from 'three/addons/exporters/PLYExporter.js';
  */
 class PLYExporter {
 

+ 2 - 0
examples/jsm/exporters/STLExporter.js

@@ -12,6 +12,8 @@ import { Vector3 } from 'three';
  * const exporter = new STLExporter();
  * const data = exporter.parse( mesh, { binary: true } );
  * ```
+ *
+ * @three_import import { STLExporter } from 'three/addons/exporters/STLExporter.js';
  */
 class STLExporter {
 

+ 2 - 0
examples/jsm/exporters/USDZExporter.js

@@ -16,6 +16,8 @@ import {
  * const exporter = new USDZExporter();
  * const arraybuffer = await exporter.parseAsync( scene );
  * ```
+ *
+ * @three_import import { USDZExporter } from 'three/addons/exporters/USDZExporter.js';
  */
 class USDZExporter {
 

+ 1 - 0
examples/jsm/geometries/BoxLineGeometry.js

@@ -14,6 +14,7 @@ import {
  * ```
  *
  * @augments BufferGeometry
+ * @three_import import { BoxLineGeometry } from 'three/addons/geometries/BoxLineGeometry.js';
  */
 class BoxLineGeometry extends BufferGeometry {
 

+ 1 - 0
examples/jsm/geometries/ConvexGeometry.js

@@ -16,6 +16,7 @@ import { ConvexHull } from '../math/ConvexHull.js';
  * ```
  *
  * @augments BufferGeometry
+ * @three_import import { ConvexGeometry } from 'three/addons/geometries/ConvexGeometry.js';
  */
 class ConvexGeometry extends BufferGeometry {
 

+ 1 - 0
examples/jsm/geometries/DecalGeometry.js

@@ -25,6 +25,7 @@ import {
  * ```
  *
  * @augments BufferGeometry
+ * @three_import import { DecalGeometry } from 'three/addons/geometries/DecalGeometry.js';
  */
 class DecalGeometry extends BufferGeometry {
 

+ 4 - 1
examples/jsm/geometries/ParametricFunctions.js

@@ -1,5 +1,8 @@
 
-/** @module ParametricFunctions */
+/**
+ * @module ParametricFunctions
+ * @three_import import * as ParametricFunctions from 'three/addons/geometries/ParametricFunctions.js';
+ */
 
 /**
  * A parametric function representing the Klein bottle.

+ 1 - 0
examples/jsm/geometries/ParametricGeometry.js

@@ -17,6 +17,7 @@ import {
  * ```
  *
  * @augments BufferGeometry
+ * @three_import import { ParametricGeometry } from 'three/addons/geometries/ParametricGeometry.js';
  */
 class ParametricGeometry extends BufferGeometry {
 

+ 1 - 0
examples/jsm/geometries/RoundedBoxGeometry.js

@@ -49,6 +49,7 @@ function getUv( faceDirVector, normal, uvAxis, projectionAxis, radius, sideLengt
  * ```
  *
  * @augments BoxGeometry
+ * @three_import import { RoundedBoxGeometry } from 'three/addons/geometries/RoundedBoxGeometry.js';
  */
 class RoundedBoxGeometry extends BoxGeometry {
 

+ 1 - 0
examples/jsm/geometries/TeapotGeometry.js

@@ -26,6 +26,7 @@ import {
  * ```
  *
  * @augments BufferGeometry
+ * @three_import import { TeapotGeometry } from 'three/addons/geometries/TeapotGeometry.js';
  */
 class TeapotGeometry extends BufferGeometry {
 

+ 1 - 0
examples/jsm/geometries/TextGeometry.js

@@ -23,6 +23,7 @@ import {
  * ```
  *
  * @augments ExtrudeGeometry
+ * @three_import import { TextGeometry } from 'three/addons/geometries/TextGeometry.js';
  */
 class TextGeometry extends ExtrudeGeometry {
 

+ 1 - 0
examples/jsm/helpers/LightProbeHelper.js

@@ -16,6 +16,7 @@ import {
  * ```
  *
  * @augments Mesh
+ * @three_import import { LightProbeHelper } from 'three/addons/helpers/LightProbeHelper.js';
  */
 class LightProbeHelper extends Mesh {
 

+ 1 - 0
examples/jsm/helpers/LightProbeHelperGPU.js

@@ -18,6 +18,7 @@ import { float, Fn, getShIrradianceAt, normalWorld, uniformArray, uniform, vec4
  *
  * @private
  * @augments Mesh
+ * @three_import import { LightProbeHelper } from 'three/addons/helpers/LightProbeHelperGPU.js';
  */
 class LightProbeHelper extends Mesh {
 

+ 1 - 0
examples/jsm/helpers/OctreeHelper.js

@@ -14,6 +14,7 @@ import {
  * ```
  *
  * @augments LineSegments
+ * @three_import import { OctreeHelper } from 'three/addons/helpers/OctreeHelper.js';
  */
 class OctreeHelper extends LineSegments {
 

+ 1 - 0
examples/jsm/helpers/PositionalAudioHelper.js

@@ -21,6 +21,7 @@ import {
  * ```
  *
  * @augments Line
+ * @three_import import { PositionalAudioHelper } from 'three/addons/helpers/PositionalAudioHelper.js';
  */
 class PositionalAudioHelper extends Line {
 

+ 59 - 0
examples/jsm/helpers/RapierHelper.js

@@ -0,0 +1,59 @@
+import { LineSegments, LineBasicMaterial, BufferAttribute } from 'three';
+/**
+ * This class displays all Rapier Colliders in outline.
+ *
+ * @augments LineSegments
+ * @three_import import { RapierHelper } from 'three/addons/helpers/RapierHelper.js';
+ */
+class RapierHelper extends LineSegments {
+
+	/**
+	 * Constructs a new Rapier debug helper.
+	 *
+	 * @param {RAPIER.world} world - The Rapier world to visualize.
+	 */
+	constructor( world ) {
+
+		super();
+
+		/**
+		 * The Rapier world to visualize.
+		 *
+		 * @type {RAPIER.world}
+		 */
+		this.world = world;
+
+		this.material = new LineBasicMaterial( { vertexColors: true } );
+		this.frustumCulled = false;
+
+	}
+
+	/**
+	 * Call this in the render loop to update the outlines.
+	 */
+	update() {
+
+		const { vertices, colors } = this.world.debugRender();
+
+		this.geometry.deleteAttribute( 'position' );
+		this.geometry.deleteAttribute( 'color' );
+
+		this.geometry.setAttribute( 'position', new BufferAttribute( vertices, 3 ) );
+		this.geometry.setAttribute( 'color', new BufferAttribute( colors, 4 ) );
+
+	}
+
+	/**
+	 * Frees the GPU-related resources allocated by this instance. Call this
+	 * method whenever this instance is no longer used in your app.
+	 */
+	dispose() {
+
+		this.geometry.dispose();
+		this.material.dispose();
+
+	}
+
+}
+
+export { RapierHelper };

+ 1 - 0
examples/jsm/helpers/RectAreaLightHelper.js

@@ -20,6 +20,7 @@ import {
  * ```
  *
  * @augments Line
+ * @three_import import { RectAreaLightHelper } from 'three/addons/helpers/RectAreaLightHelper.js';
  */
 class RectAreaLightHelper extends Line {
 

+ 1 - 0
examples/jsm/helpers/TextureHelper.js

@@ -18,6 +18,7 @@ import { mergeGeometries } from '../utils/BufferGeometryUtils.js';
  * When using {@link WebGPURenderer}, import from `TextureHelperGPU.js`.
  *
  * @augments Mesh
+ * @three_import import { TextureHelper } from 'three/addons/helpers/TextureHelper.js';
  */
 class TextureHelper extends Mesh {
 

+ 1 - 0
examples/jsm/helpers/TextureHelperGPU.js

@@ -20,6 +20,7 @@ import { mergeGeometries } from '../utils/BufferGeometryUtils.js';
  *
  * @private
  * @augments Mesh
+ * @three_import import { TextureHelper } from 'three/addons/helpers/TextureHelperGPU.js';
  */
 class TextureHelper extends Mesh {
 

+ 1 - 0
examples/jsm/helpers/VertexNormalsHelper.js

@@ -27,6 +27,7 @@ const _normalMatrix = new Matrix3();
  * ```
  *
  * @augments LineSegments
+ * @three_import import { VertexNormalsHelper } from 'three/addons/helpers/VertexNormalsHelper.js';
  */
 class VertexNormalsHelper extends LineSegments {
 

+ 1 - 0
examples/jsm/helpers/VertexTangentsHelper.js

@@ -20,6 +20,7 @@ const _v2 = new Vector3();
  * ```
  *
  * @augments LineSegments
+ * @three_import import { VertexTangentsHelper } from 'three/addons/helpers/VertexTangentsHelper.js';
  */
 class VertexTangentsHelper extends LineSegments {
 

+ 1 - 0
examples/jsm/helpers/ViewHelper.js

@@ -26,6 +26,7 @@ import {
  * so it looks along the selected axis.
  *
  * @augments Object3D
+ * @three_import import { ViewHelper } from 'three/addons/helpers/ViewHelper.js';
  */
 class ViewHelper extends Object3D {
 

+ 1 - 0
examples/jsm/interactive/HTMLMesh.js

@@ -23,6 +23,7 @@ import {
  * ```
  *
  * @augments Mesh
+ * @three_import import { HTMLMesh } from 'three/addons/interactive/HTMLMesh.js';
  */
 class HTMLMesh extends Mesh {
 

+ 1 - 0
examples/jsm/interactive/InteractiveGroup.js

@@ -34,6 +34,7 @@ const _raycaster = new Raycaster();
  * group.add( mesh1, mesh2, mesh3 );
  * ```
  * @augments Group
+ * @three_import import { InteractiveGroup } from 'three/addons/interactive/InteractiveGroup.js';
  */
 class InteractiveGroup extends Group {
 

+ 2 - 0
examples/jsm/interactive/SelectionBox.js

@@ -37,6 +37,8 @@ const _scale = new Vector3();
  * const selectionBox = new SelectionBox( camera, scene );
  * const selectedObjects = selectionBox.select( startPoint, endPoint );
  * ```
+ *
+ * @three_import import { SelectionBox } from 'three/addons/interactive/SelectionBox.js';
  */
 class SelectionBox {
 

+ 2 - 0
examples/jsm/interactive/SelectionHelper.js

@@ -4,6 +4,8 @@ import { Vector2 } from 'three';
  * A helper for {@link SelectionBox}.
  *
  * It visualizes the current selection box with a `div` container element.
+ *
+ * @three_import import { SelectionHelper } from 'three/addons/interactive/SelectionHelper.js';
  */
 class SelectionHelper {
 

+ 1 - 0
examples/jsm/lighting/TiledLighting.js

@@ -11,6 +11,7 @@ import { tiledLights } from '../tsl/lighting/TiledLightsNode.js';
  * ```
  *
  * @augments Lighting
+ * @three_import import { TiledLighting } from 'three/addons/lighting/TiledLighting.js';
  */
 export class TiledLighting extends Lighting {
 

+ 1 - 0
examples/jsm/lights/LightProbeGenerator.js

@@ -15,6 +15,7 @@ import {
  * Utility class for creating instances of {@link LightProbe}.
  *
  * @hideconstructor
+ * @three_import import { LightProbeGenerator } from 'three/addons/lights/LightProbeGenerator.js';
  */
 class LightProbeGenerator {
 

+ 1 - 0
examples/jsm/lights/RectAreaLightTexturesLib.js

@@ -25,6 +25,7 @@ import {
  * in the main build files.
  *
  * @hideconstructor
+ * @three_import import { RectAreaLightTexturesLib } from 'three/addons/lights/RectAreaLightTexturesLib.js';
  */
 class RectAreaLightTexturesLib {
 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно

粤ICP备19079148号