@filedescriptor Thanks a lot for fixing that tool-system mystery. It's working now.
I moved the operator into its own file in editors/grease_pencil/
.
@filedescriptor Ah, right. So when the GreasePencil
list can contain unused vertex groups, then that list is basically the only source of truth.
You can omit the whole `sync_vertex_groups_from_…
It seems a bit random to me that all existing drawings get the vertex group added here, but newly inserted keyframes/drawings after this don't (as I understood from the conversation). There is no real reasoning behind it then, which Drawing
contains the vertex group and which not.
You could iterate over grease_pencil.vertex_group_names
here? That's less data than all the drawings in a scene.
No, we don't need to, but as soon as sync_vertex_groups_from_layers()
is called somewhere, the vertex group will be gone. So that's pretty tricky...
Thanks for all the answers.
So, for my own understanding: there are two sources of truth. The vertex groups in Drawing
s are the source of truth for the existence of the groups. And the…
Perhaps premature questions, since this is a first WIP, but:
- The vertex groups must be propagated when new
Drawing
s are created. I don't see anything for that yet in the PR, but I expect…
As I see it, there is no functional relationship between vertex groups and layers (drawings). A vertex group has a 1:n relationship with stroke points. Those points can reside in multiple…
Demo of the odd behaviour of the weight gradient tool on 3D meshes. It lacks its own settings.
Thanks for reviewing this odd duck in legacy style! When I wrote this PR, the file was plain .c
, so no fancy C++ here indeed. I could rewrite it now, but I guess it's more efficient to spend…
The thing here is:
- The gradient tool is not a brush tool (you don't paint with a circled brush cursor over vertices).
- But it does need brush settings.
The weight gradient tool on 3D…