<p dir="auto">Right now we ask for vertex normals to be generated on a cylinder, it will smooth out the top/bottom with the sides and lose the sharp edge along the top.  One way that I have seen that resolves this issue is to use the codes on the individual faces to determine which segments of the mesh are considered to be connected/smooth.  This can be done via materialIndices -- one can smooth between faces that share the same materialIndex or one could create a new per-face property and smooth on that.  3DS Max for example uses a 32 bit integer with bits.  If one finds two adjacent faces share the same bit, then it can smooth across them.  This gives a bit more flexibility than just materialIndices.</p>
<p dir="auto">This would be very useful for smoothing TextGeometry that is created via the Extrude where one may desire the sides to be smooth but the top/bottom shouldn't be smoothed with the sides of the text if there is no bevel.</p>
<p dir="auto">I can write this if we can find a good solution.</p>
<p dir="auto">From my experience one of the useful features of morph targets is the fact you can use negative values? any reason why it seems like morph influences are clamped to be positive?</p>
<p dir="auto">e.g. eyebrows at around 2:20<br>
<a href="https://www.youtube.com/watch?v=AXba8B739mg" rel="nofollow">https://www.youtube.com/watch?v=AXba8B739mg</a><br>
i'm not sure if theres an implementation reason that the influences seem to do nothing with negative values, but it accepts values greater than 1 with no problem so im figuring someone threw a max test  in the shader somewhere without realizing, or the implementation does this somehow silently.</p>