Refactor: Paint: Migrate automask settings to Paint struct

Currently, automasking is only used inside Sculpt mode. In preparation
for further changes needed to expose the functionality to the 3D Texture
Paint brush, this PR migrates the values from being stored on the
`Sculpt` struct to the `MeshAutomaskingSettings`, stored as a pointer
on the `Paint` struct.

We do not default initialize these values, as it is specifically
relevant for Sculpt, Vertex Paint, Weight Paint, and Texture Paint.

Part of #156409

Pull Request: https://projects.blender.org/blender/blender/pulls/156494
This commit is contained in:
Sean Kim 2026-04-09 06:42:14 +02:00 • committed by Sean Kim
parent d2f8313973
commit 6783ea037d
16 changed files with 432 additions and 292 deletions

View file

@ -75,7 +75,7 @@ class BrushAutomaskTest(unittest.TestCase):
def test_face_set_automasking_ignores_any_non_starting_face_set(self):
# This test mesh has 3 face sets, 1 and 2 are used for the eyes, the rest of the monkey's head is 3
ACTIVE_FACE_SET = 3
bpy.data.scenes[0].tool_settings.sculpt.use_automasking_face_sets = True
bpy.data.scenes[0].tool_settings.sculpt.mesh_automasking_settings.use_automasking_face_sets = True
initial_data = get_attribute_data(BackendType.MESH, AttributeType.POSITION)
@ -115,7 +115,7 @@ class BrushAutomaskTest(unittest.TestCase):
def test_topology_automasking_ignores_any_non_starting_island(self):
# This test mesh has 3 island ids, 0 and 1 are used for the eyes, the rest of the monkey's head is 2
ACTIVE_ISLAND_ID = 2
bpy.data.scenes[0].tool_settings.sculpt.use_automasking_topology = True
bpy.data.scenes[0].tool_settings.sculpt.mesh_automasking_settings.use_automasking_topology = True
initial_data = get_attribute_data(BackendType.MESH, AttributeType.POSITION)