Bleed was computed by simply expanding outwards whatever is painted on the seam. This is undesirable behaviour, as ideally the bleed should match whatever is painted on the other side of the seam as closely as possible. As a result, artifacts appear on the seams, where parts of the incorrect pixels outside the seam are projected onto the mesh.
This patch fixes the issue by instead computing the bleed as if it was simply a continuation of the brush stroke on an imaginary extension of whatever face is being drawn onto. This means that the bleed perfectly matches the texture on the other side of the seam in the case of the adjacent faces being coplanar, and is a close approximation otherwise. This completely eliminates any seam artifacts.
Below is a comparison, before and after the fix, with the UVs seen on the left of each picture, and the painted mesh on the right.



