2022-11-08 Sculpt/Texture/Paint Module Meeting

Practical Info

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.

Attendees

  • Julien Kaspar
  • Joe Eagar
  • Daniel Bystedt
  • Ramil Roosileht

Agenda

Since Last Meeting

  • :gear: 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.

  • :gear: 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.

  • :gear: 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.

Needs Commit

High Priority Bugs

In Review

Paint Mode:

To Do’s

Joe:

  • Roll texture mapping
  • Fix stroke bugs (Like scene spacing)
  • Fix Enhance details brush

Julien:

  • Manual
  • Design tasks for 3.5

Jeroen:

  • Bug fixes for Eevee/Viewport module.

Other Topics

Mask Icon

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.

Operators in Sculpt Mode

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 :anchor: 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 :anchor: T99607 Resolve “Shift R” shortcut conflict then.
Fast redoing will become an important operation in Sculpt Mode.
We can soon change the shortcut to R instead.
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.

Transform Pivot

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 :gear: 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.

Enforce LCS in Sculpt Mode

This would solve common shortcut inconsistencies and conflicts:

  • W/RC for context menu vs Face Set pie menu
  • Ctrl-Shift & Ctrl RC to mask vs modifier keys with LC
  • 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.

Invert Expand behavior

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 F and E every time)
Makes the main use cases easier to understand.
More in this video

Everyone agreed.

Later we can revisit the current behavior with :anchor: T97903 Invert Masking behaviour for Sculpt/Paint Mode.

Color Expand

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.

Sculpt-Dev for testing

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.
(Like sculpt-prototyping)

Joe will think about this further and revisit this topic another time, since it’s not a priority atm.

12 Likes

hi, im not doing a feature request here, it may sound like it, it just to get some info about it.
at the begging of the year was a list of features to work on, and there are two things i didin’t read anything else about,
1- baking displacement new methods (not normalized)
2- all the features for dyntopo that are in the Sculp-dev branch.
Are those two target still in the realistic “todo” list of the main team or those where move to the “wishlist” for someone else to tackle?

1 Like