Hello there !
I was wondering if one could paint vertex normals in 3dsmax using a brush system, not necessarily the one used to do vertex paint as this might have different needs, I'm thinking about something like hairstyling (in terms of UX), and smooth, pinch, average, weighted, masks types (limit to front faces, limit to selected vertices/faces/edges, etc)
We can transfer normals, weight them, and that's already super cool ! But we still don't really have a direct way to edit them (the edit normals is too painful as is, it's okay for very small edits, but imagine a big rock, or hairstyles...)
Maybe I'm unaware of a fantastic plugin/script which already does the job, If you know one, I'd love to hear out from it

Replies
Kinematic LAB has a normal texture painter, though, that also can transfer the colors to VrayFur, so maybe you could calculate vertex normals from that:
Other than that, as a basic idea:
Have your base mesh, smoothing groups and all.
Make a copy where you split every hard edge.
Create an inflated/pushed copy of that.
Manipulate that copy with brushes (use your first copy as a morph target to restore some bits if necessary, tyConform probably offering the most options for the latter.
Use mascript to calculate your normals from vertices with identical vertex IDs in your two copies. Main problem would be that it's somewhat visual/intuitive, but not as much as seeing the vertex normals directly. Maybe you could have them drawn interactively and do the rest under the hood, but that most likely would hardly be... interactive, at least with basic scripting.
Also, there's the problem of getting the vertex normals back to the unsplit mesh, but if I recall correctly, there are options to project vertex normals on a per face basis.
The guides (Display Guides in the Display rollout) are hard coded to 15 segments, but if you scale all of them down enough right at the start and choose the tips as selection method, you can manipulate them reasonably well. "Stand" would be similar to a gradual reset/revert, "Clump" to pinch.
You can turn the hair display off or set their amount to zero, but you can also keep them on in order to see a bit better what's going on, albeit interpolated between vertices. Different from the guides, you can set them to one segment at least, so that might help with visualization, too.
When you are happy with your result, you can then convert the guides to splines and use Normalize Spline with a large enough distance so each of them has two vertices/knots each. Using maxscript to get the vertex normals for your original mesh from that should be feasible. This approach ignores smoothing groups, though.
haven't you answered your own question? ..... it's not painting the normals as such but you could create a "coarse" mesh, cage as it were, and use that with "transfer normals" to perturb the normal on the target mesh ?
Thank you for your help anyway, be sure I really appreciate it !
Imagine you want to comb your vertex normals sharply in one direction over a larger area: That would be a constant steep slope that would move away from the target surface fairly quickly. Likewise, there might be problems with overhangs or more complicated meshes in general.