Hi everyone,
there is now a build available with the link below. It is a bit more WIP than I had hoped, but I think it let’s you get a good feel for the changes.
NOTE: Additionally to to the usual caveats when using experimental builds, I want to remind you to better not save over existing files.
Since the patch removes the parenting hierarchies, the frames and nodes won’t be attached anymore when opening files saved with this build in other versions of blender - so this is a forward-compatability breaking change.
State of The Patch
Here’s how things work now:
- Frames move all nodes that are completely contained within them
- By default frames are static and have to be resized manually (the “Shrink” option is still available - more on that below.)
Resizing Frames
I also made a few adjustments to the resizing of frames, that I thought might be nice now that we might spent more time with that:
- The hitzone on the edge of the frame doesn’t get too small anymore when zooming out. This might still need some tweaking.
- Pressing Spacebar while resizing nodes will move the frame. This is consistent with the behavior of box select and I thought it might be handy to be able to easily move frames around underneath the nodes.
- Pressing Alt when resizing a frame will symmetrically resize the frame around it’s center. Not sure about this one, but I thought it might feel familiar to everyone using 2D graphics software
Having the node borders snap to the grid, when snapping is enabled, would be nice, too, but I didn’t get around to that.
Known issues:
- Duplicating frames is a bit iffy right now. I have a hack in the default keymap, to mitigate this, but if you use a custom keymap or the “Duplicate” operators from the menu, you’ll notice that currently nodes are moved together with the frame that is duplicated underneath.
Shrinking frames
Since I’m still a bit attached to shrinking frames, I kept them around to see if they can still fit in without parenting. So for now you can still manually activate the “Shrink” checkbox for frames in the sidebar, which will make a frame adjust to the nodes it currently contains.
Things of note:
- Even with shrinking enabled, you’re now able to still resize the frame to quickly adjust which nodes are contained inside the frame.
- You can also still remove nodes from shrinking frames by pressing Alt when moving them, same as it was in the original patch. (I haven’t yet untangled that from the node link insertion, so they still share the same hotkey.)
If you want to stress test the shrinking frames, I also added a toggle in the experimental user preferences called “Shrinking Frames” that makes frames have shrinking be enabled by default.
If we wanna keep shrinking frames around having a preference, if it should be enabled by default when framing nodes might be reasonable.
Shrinking frames do add some additional complexity and there are still some issues to be ironed out, but before sinking more time into that, I’m interested to hear if you think that’s a direction worth of more investigation.
Overall this is a bigger change than I’d usually try my hand on and there’s a lot for me to figure out, so bear with me.