Texture painting based on normals, not view projection?

One of my biggest beefs with texture painting in Blender is that when painting directly onto geometry, the brush projection is from the view. This means that if you paint across a face that is at an angle from the previous face you’re painting on, you’re left with a streak because the brush’s projection was based on your view. Seems to me it makes more sense to apply paint based on the orientation of the face normals. Is there an option for doing that, or perhaps an add-on? If neither, what’s the best way for me to let the devs know? Thanks, all!

You would have seams wherever the normals changed.