The sculpt branch has functionality to paint vertex colors in sculpt mode. This lets us reuse brush features and implementation, as well as have brushes that can both displace and paint at the same time.
Colors vs. Attributes
Unlike vertex paint mode, this only works with per-vertex colors, not per-loop (face corner) colors, and that limitation would likely remain. Rough idea to resolve this could be:
- Sculpt mode would be for more artistic purposes, and only support painting per-vertex color.
- Vertex Paint becomes Attribute Paint/Edit mode. This would allow visualizing and editing general attributes besides vertex colors, for more technical purposes.
- Mesh properties could get an Attributes panel listing user-created attributes that could be per-vertex, per-face, per-loop, with different possible data types. Current per-loop colors would just be one specific case.
This is a quite big change though, but aligns with the need for more general attributes for function nodes and volume objects in the future.
Ideally, we could then combine Attribute Paint with Weight Paint mode:
And also combine them in the UI:
This makes the distinction between attributes and vertex paint layers more clear.
Sculpt Mode UI
If painting brushes would be in the same toolbar as sculpting brushes, and if any brush can potentially have settings for both sculpting and painting, the UI can become complicated.
We are missing a design for how to handle this.