Fix: #141639: Renaming Boolean Operation Solver From Fast to Float

Some parts of the UI (e.g., the boolean node) had renamed the 'fast'
solver to be the 'float' solver, since with the advent of the manifold
solver, it is no longer really right to characterize the float one
as the (sole) fast one.  This commit finishes the job.
It does have the effect of changing the string needed within the
Python API to select the float solver, so this is a (minor)
API-breaking change.
This commit is contained in:
sake
2025-07-10 10:40:29 -04:00
committed by Howard Trickey
parent 042b273da5
commit ba51cebbdd
4 changed files with 16 additions and 16 deletions

View File

@@ -21,30 +21,30 @@ def main():
SpecMeshTest('Cubecube_intersect_union', 'Cubecube', 'Cubecube_result_1',
[OperatorSpecEditMode('intersect_boolean',
{'operation': 'UNION', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
{'operation': 'UNION', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_intersect', 'Cubecube', 'Cubecube_result_2',
[OperatorSpecEditMode('intersect_boolean', {'operation': 'INTERSECT', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
[OperatorSpecEditMode('intersect_boolean', {'operation': 'INTERSECT', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_difference', 'Cubecube', 'Cubecube_result_3',
[OperatorSpecEditMode('intersect_boolean', {'operation': 'DIFFERENCE', 'solver': 'FAST'}, 'FACE',
[OperatorSpecEditMode('intersect_boolean', {'operation': 'DIFFERENCE', 'solver': 'FLOAT'}, 'FACE',
{0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_cut', 'Cubecube', 'Cubecube_result_4', [OperatorSpecEditMode('intersect',
{'separate_mode': 'CUT', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
{'separate_mode': 'CUT', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_all', 'Cubecube', 'Cubecube_result_5',
[OperatorSpecEditMode('intersect',
{'separate_mode': 'ALL', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
{'separate_mode': 'ALL', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_none', 'Cubecube', 'Cubecube_result_6',
[OperatorSpecEditMode('intersect',
{'separate_mode': 'NONE', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
{'separate_mode': 'NONE', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
SpecMeshTest('Cubecube_intersect_select_none', 'Cubecube',
'Cubecube_result_7',
[OperatorSpecEditMode('intersect',
{'mode': 'SELECT', 'separate_mode': 'NONE', 'solver': 'FAST'}, 'FACE',
{'mode': 'SELECT', 'separate_mode': 'NONE', 'solver': 'FLOAT'}, 'FACE',
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, )]),
SpecMeshTest('Cubecone_intersect_union', 'Cubecone', 'Cubecone_result_1',
[OperatorSpecEditMode('intersect_boolean',
{'operation': 'UNION', 'solver': 'FAST'}, 'FACE', {6, 7, 8, 9, 10}, )]),
{'operation': 'UNION', 'solver': 'FLOAT'}, 'FACE', {6, 7, 8, 9, 10}, )]),
SpecMeshTest('Cubecones_intersect_union', 'Cubecones', 'Cubecones_result_1',
[OperatorSpecEditMode('intersect_boolean', {'operation': 'UNION', 'solver': 'FAST'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
[OperatorSpecEditMode('intersect_boolean', {'operation': 'UNION', 'solver': 'FLOAT'}, 'FACE', {0, 1, 2, 3, 4, 5}, )]),
]

View File

@@ -21,7 +21,7 @@ def cube_mask_first_modifier_list():
ModifierSpec('solidify', 'SOLIDIFY', {}),
ModifierSpec('triangulate', 'TRIANGULATE', {}),
ModifierSpec('bevel', 'BEVEL', {'width': 0.1, 'limit_method': 'NONE'}),
ModifierSpec('boolean', 'BOOLEAN', {'object': bpy.data.objects["testCubeMaskFirst_boolean"], 'solver': 'FAST'}),
ModifierSpec('boolean', 'BOOLEAN', {'object': bpy.data.objects["testCubeMaskFirst_boolean"], 'solver': 'FLOAT'}),
ModifierSpec('edge split', 'EDGE_SPLIT', {}),
ModifierSpec('build', 'BUILD', {'frame_start': 1, 'frame_duration': 1}, 2),
ModifierSpec('multires', 'MULTIRES', {}),
@@ -42,7 +42,7 @@ def cube_random_modifier_list():
ModifierSpec('array', 'ARRAY', {}),
ModifierSpec('bevel', 'BEVEL', {'width': 0.1, 'limit_method': 'NONE'}),
ModifierSpec('multires', 'MULTIRES', {}),
ModifierSpec('boolean', 'BOOLEAN', {'object': bpy.data.objects["testCubeRandom_boolean"], 'solver': 'FAST'}),
ModifierSpec('boolean', 'BOOLEAN', {'object': bpy.data.objects["testCubeRandom_boolean"], 'solver': 'FLOAT'}),
ModifierSpec('solidify', 'SOLIDIFY', {}),
ModifierSpec('build', 'BUILD', {'frame_start': 1, 'frame_duration': 1}, 2),
ModifierSpec('triangulate', 'TRIANGULATE', {}),
@@ -397,7 +397,7 @@ def main():
boolean_basename = "CubeBooleanDiffBMeshObject"
tests.append(SpecMeshTest("BooleandDiffBMeshObject", "test" + boolean_basename, "expected" + boolean_basename,
[ModifierSpec("boolean", 'BOOLEAN',
{"solver": 'FAST', "operation": 'DIFFERENCE', "operand_type": 'OBJECT',
{"solver": 'FLOAT', "operation": 'DIFFERENCE', "operand_type": 'OBJECT',
"object": bpy.data.objects["test" + boolean_basename + "Operand"]})]))
boolean_basename = "CubeBooleanDiffBMeshCollection"
tests.append(SpecMeshTest("BooleandDiffBMeshCollection",
@@ -405,7 +405,7 @@ def main():
"expected" + boolean_basename,
[ModifierSpec("boolean",
'BOOLEAN',
{"solver": 'FAST',
{"solver": 'FLOAT',
"operation": 'DIFFERENCE',
"operand_type": 'COLLECTION',
"collection": bpy.data.collections["test" + boolean_basename + "Operands"]})]))