<p dir="auto">The CylinderBufferGeometry constructor produces doubled vertices and normals in the places where a ring is closed. This could result in wrong shading (one non-smoothed edge), in the screenshot only for demonstrating purposes forced by a call of computeVertexNormals().</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/5700294/24242974/d8ab194c-0fb9-11e7-8cb2-4c4a5fdcf45f.PNG"><img src="https://cloud.githubusercontent.com/assets/5700294/24242974/d8ab194c-0fb9-11e7-8cb2-4c4a5fdcf45f.PNG" alt="cylinder" style="max-width: 100%;"></a></p>
<p dir="auto">Wouldn't it be cleaner to have no doubled vertices/normals at all on the sides? The duplication could easily be avoided in the constructor (by only doubling a row’s start index in the index array instead of doubling the vertex and normal).</p>
<p dir="auto">But since it’s the same with SphereBufferGeometry and SphereGeometry, I wonder whether the duplication is perhaps made intentionally for some reason I don’t know?</p>
<p dir="auto">r85dev</p>
<p dir="auto">We have two files named <code class="notranslate">Vector3.js</code> in the project. Plus a lot of other duplicates.</p>
<p dir="auto">Does it make sense to name them differently?</p>
<p dir="auto">I find myself searching for <code class="notranslate">Vector3.js</code> and getting a file different than the one I intended.</p>
<p dir="auto">Maybe the second one could be <code class="notranslate">TestVector3.js</code>.</p>