This patch will show a canvas switcher when painting colors.
It allows quicker switching between painting on color attributes.
Solves a workflow issue that workbench drawing is reflected immediately
when changing the brushes or tools.
Currently this patch is based on sculpt vertex color inside master. It needs to be updated
when the new sculpt vertex color patch lands.
In the future the canvas selector will also be used to select an image or image texture node
to paint on.
Patch is ready for an initial review.
{F12953989}
# TODO
* [ ] Colors, Byte colors
* [ ] Face corners
* [ ] Commit the experimental feature in master directly.
* [X] ~~Check where we want the canvas to appear on the screen (now it is the last item what isn't working for small screens.)~~
* [X] ~~When switching tools the change isn't directly visible, still needs a click in the 3d viewport. Idea would be to use the wm message bus and subscribe to the active tool property.~~
* [ ] Connect more tools to the ED_paint_canvas API.
* [X] Currently there is a sync issue as active node could be in an state where it could not draw on. Introduce NODE_ACTIVE_CANVAS. similar to NODE_ACTIVE_TEXTURE. We cannot reuse NODE_ACTIVE_TEXTURE as this is also used when drawing in workbench.
* [X] ~~Use TexPaintSlot of material. Most stuff is already there.~~
* [ ] When loading starting blender the texslots should be regenerated. Now you first need to select the canvas source again.