Fix an issue when drawing node links that caused gaps, when sockets were horizontally or vertically aligned. When the inner and outer points of the node link's bezier control polygon overlap, the link's tangent can be a zero vector. The shader didn't check for this before normalizing the tangent leading to an undefined vector which prevented the outermost segments of the link from being drawn. Since this only happens when the end points of the node link are horizontally or vertically aligned, we can use the vector between the link's end points instead of the tangent. Fix #106929 Fix #89282 Pull Request: blender/blender#107636