This is a weekly video chat meeting for planning and discussion of development related to the sculpting and painting in Blender. Any contributor (developer, UI/UX designer, writer, …) working on these features in Blender is welcome to join and add proposed items to the agenda.
Write us a message in the module chat if you’re interested.
For users and other interested parties, we ask to read the meeting notes instead so that the meeting can remain focused.
- Julien Kaspar
- Joe Eagar
- Daniel Bystedt
- Ramil Roosileht
D16335 Sculpting & Painting: High level changes and new Sculpting Introduction page
Julien mentioned the current state of the updated manual.
Download New introduction pages. This is the start of the rewrite of existing pages to fix outdated/missing information and correctly explain mental models.
There still needs to be some work and review. The most updated version can be found in the patch.
D16320 Brush Properties Refactor
This is the inital version of the patch that doesn’t include everything yet.
The UI is still WIP and pen inputs needs more work and testing.
We agreed that we’ll go ahead with the popover UI design for the pen inputs,
try it and see where we go from there.
The question for this patch is priority. We could focus on getting this patch approved since it doesn’t need a lot of time investment (~2-3 weeks).
For now we agreed that this patch can leave out the “Cherry Picking UI” and instead focus on the underlying properties, Input Curves and the Unified Properties refactor.
The Unified property still needs some changes, like making it a per-mode toggle.
Cherry picking can be added once needed for brush assets, but this patch is fundamental for this feature to work eventually.
Auto-Masking UI is done for 3.4. Any additional changes are for 3.5.
It was pointed out that propagation steps still need to be made global.
Julien will make a task for that.
We should start collecting demo material and update Release Notes.
Ramil has ideas for the Area Normal auto-masking demo showcase.
Julien has demo material for cavity masking.
D16414 Sculpt: Stroke Texture Mapping added for Roll feature
The patch is getting close to done. Only some bugs need fixing.
Joe added a temp debug visualizing, which we agreed should stay for the final feature in a simplified form.
A needed addition is to visualize the samples curve already on stroke start.
The stroke curve will also be changed into single color for simplicity.
Small adjustments of naming. Joe can you commit these.
D16409 Fix inconsistent naming for cavity_from_mask operator.
Joe will commit this for 3.4. We consider this a “fix” for the new auto-masking feautures.
D16413 Sculpt Mode: Renaming of Show/Hide operators for consistency
Mainly just for the Manual. Joe can commit this to master.
- D16409 Fix inconsistent naming for cavity_from_mask operator.
D11880 Expose Sculpt Symmetrize Merge Threshold Property In UI
Approved for a long time. Should get commit. Joe will look into it.
- D16293 Fix T101914: Weight paint gradient tool did not work with masking active
D16294 Texture Paint: sync adding a new texture slot to the Image Editor
Joe can commit these two.
T101203 Regression: Issues with undoing the visibility of face sets in sculpt mode
Should poke Hans to review fix.
But first we have to commit D16225. That patch is a foundational fix for this bug.
T101743 Regression: Redo panel created on sculpting
Poke Campbell to review fix.
- T102209 Regression: Blender crashes in Sculpt Mode when subdividing with the Multiresmodifier to level 7
- T102336 Regression: Enabling Dynamic Topology Causes Crash on Plane Mesh
- T102337 Regression: Dragging move gizmo causes crash in sculpt mode
T102348 Sculpt Mode: Area and Topology auto-masking don’t work with Mirror
Joe will take a look at these bugs.
D16330 Sculpt: Fix crash with no active brush data-block
Joe already worked on a similar fix. He’ll take a look at this patch and comment based on how we should proceed.
D15596 Convert Color Attribute operator
Ramil made updates based on Hans feedback.
Needs more work on master because of recent changes to Attributes.
Ramil will try again and poke Hans.
D16241 UI: Add Vertex Group and Color Attributes selector in 3D Viewport
Paint Mode and Attribute Paint would eventually get overhauled UI anyway.
But we agreed that the UI element should be exposed in both sidebar and header to be better exposed.
- D15298 Support Automasking For Texture Paint
D14900 PBVH Texture Paint Node Splitting
Jeroen would like this to be reviewed for 3.5
D14970 3D Texturing: Fix seam bleeding.
Jeroen would like this to be reviewed for 3.5
- Roll texture mapping
- Fix stroke bugs (Like scene spacing)
- Fix Enhance details brush
- Design tasks for 3.5
- Bug fixes for Eevee/Viewport module.
T102349 Sculpt Mode: Inverted Box Masking inverts mask instead of clearing mask
Joe can have a look.
Also a conversation on adding a proper mask/disabled mask icon.
E seems to be the favorite for readability and generic meaning of Mask.
Needs to be more square though.
Julien will do more sketches and a polished version for 3.5.
Joe worked on proper support of “Adjust Last Operation” settings.
Filters, Gestures and other Active Tools were implemented in toolbar because of previous limitations.
We agreed that we want to focus some time to adding Filters, Gestures and Edit tools as menu operators, now that the previous limitations are lifted.
This would have various advantages:
- Support existing Operate → Settings paradigm
- Easier to use various tools as one time operations instead of making them active
- Easier to use filters via shortcuts and quick favorites.
- Redo panel interactions for very high res meshes (Better with slow performance)
- Simpler than implementing T97959 Color Filter: Sliding UI. That can come after.
Everyone seems to agree.
Joe thinks that can be done, but mentioned that some filters already have a good performance optimization. So that is less of a reason to add them as menu operators.
There might be some extra work attached to this, so what works and what doesn’t needs to be tested.
It becomes vital to fix T99607 Resolve “Shift R” shortcut conflict then.
Fast redoing will become an important operation in Sculpt Mode.
We can soon change the shortcut to
Rotate and old popup is not as needed, so there is no conflict.
The same shortcut could be used for Dyntopo resizing as well if Dyntopo is enabled.
Curve sculpt mode would also use the shortcut for hair density resizing.
We’ll make a task for setting the sculpt-session pivot location via a shortcut and a tool settings.
Also we need to make it possible to change the orientation of the sculpt session pivot.
This is closely tied to D9540 Sculpt: Option to transform only the sculpt pivot
The general idea is to use the shortcut
Shift RC to set the pivot, just like setting the 3D cursor in other modes.
The behavior for setting, snapping and transforming the pivot should be the same.
A toggle will also be added to the transform tools tool settings to only transform the pivot.
This would solve common shortcut inconsistencies and conflicts:
- W/RC for context menu vs Face Set pie menu
RCto mask vs modifier keys with
- Shift RC for the pivot vs having this unavailable
Sculpt Mode (and eventual Paint Mode) wouldn’t have the usual “Selection” workflow.
So it can stand outside of the LCS/RCS preference.
Make expand more consistent with other masking tools:
- Invert On
- Preserve Previous Off
This will make the operator more useful for repeated fast masking of multiple areas and face sets. (No need to press
E every time)
Makes the main use cases easier to understand.
→ More in this video
Later we can revisit the current behavior with T97903 Invert Masking behaviour for Sculpt/Paint Mode.
We should add this operator to the menus to make it more accessible and easier to assign a shortcut.
We will need to soon add a “Paint” menu in sculpt mode too, especially once more operators are added.
We started a discussion on the purpose and usefulness of the sculpt-dev branch going forward.
There are many complaints and reports coming in that the branch is unstable and not as usable as it used to be.
Obvious reasons for this are that the branch is bloated it old refactors, abandoned features and otherwise highly experimental prototypes.
This doesn’t make it easy to develop or to test.
The main advantages of this branch that we want to embrace and focus on are:
- Use the branch as a prototyping environment for experimental refactors without breaking master
- Create prototypes and WIP features that are only possible with WIP refactors
- Fix, refine and test features and refactors before creating polished patches for master
- Allow people to publicly access, test and report issues on this branch (With proper warnings)
For that we need to do the following:
- Revert old refactors that are no longer developed
- Remove features that are abandoned and will not be continued
- Hide some features from the UI that are not receiving any development for a long time and don’t need testing
- Highlight features that are unique to the branch and can be tested (Mentioned in the splash for example)
All of this will make the branch more stable and easier to judge what should receive feedback.
We could even rename the branch to something to indicate that it’s for prototyping.
Joe will think about this further and revisit this topic another time, since it’s not a priority atm.