Refactor image processing and cutout functionalities

- Updated the naming convention for upscaled images to include underscores and file extensions.
- Renamed properties related to cutout pixel size to point spacing for clarity.
- Adjusted alpha region calculations to use a half-alpha threshold for better accuracy.
- Enhanced the handling of foreground mesh masks to consider half-alpha values.
- Introduced new functions for unbounded selections and cutout images, ensuring proper handling of source and selection images.
- Improved test coverage for cutout functionalities, including bounds mapping and alpha preservation.
- Updated tests to reflect changes in naming conventions and functionality adjustments.
This commit is contained in:
2026-08-27 12:01:47 +08:00
parent 2b79a342b0
commit 6c8358f92f
27 changed files with 1058 additions and 223 deletions

View File

@@ -332,11 +332,11 @@ def cutout_normal_analysis_property():
default=False,
)
def cutout_pixel_size_property():
def cutout_point_spacing_property():
return bpy.props.IntProperty(
name="Pixel Size",
name="Point Spacing",
description=(
"Approximate source image pixels per mesh step; smaller values "
"Source image pixels between neighboring mesh points; smaller values "
"create denser geometry"
),
default=32,
@@ -372,7 +372,7 @@ def balloon_radial_zoom_property(scale):
class AnyImageSettings(bpy.types.PropertyGroup):
cutout_pixel_size: cutout_pixel_size_property()
cutout_point_spacing: cutout_point_spacing_property()
cutout_normal_analysis: cutout_normal_analysis_property()
image_edit_refine_selection: image_edit_refine_selection_property()
balloon_mode: balloon_mode_property()