feat: Add restore cutout depth extension with edge depth correction

- Introduced a new extension for restoring cutout depth with edge correction.
- Implemented edge depth extension algorithm in `edge_depth.py` to enhance depth accuracy near cutout edges.
- Updated `generate_moge_artifacts` to include an option for extending depth edges during depth generation.
- Modified cutout job processing to enable edge depth extension based on depth request.
- Added comprehensive tests for edge depth functionality, ensuring correct behavior under various scenarios.
- Updated existing node loading functions to remove asset revision dependencies, simplifying the loading process.
- Created new design and proposal documentation outlining the goals and decisions for the extension.
This commit is contained in:
2026-09-13 20:36:52 +08:00
parent 2a00ed0ee6
commit a0dd6e4a88
25 changed files with 482 additions and 32 deletions

View File

@@ -10,12 +10,10 @@ def node_asset_path():
return Path(__file__).resolve().parents[1] / "assets" / NODE_ASSET_NAME
def load_node_group(group_name, *, asset_revision=None):
def load_node_group(group_name):
existing = bpy.data.node_groups.get(group_name)
if existing is not None:
if asset_revision is None or existing.get("anyimage_asset_revision") == asset_revision:
return existing
existing.name = group_name + " (Saved)"
return existing
asset_path = node_asset_path()
if not asset_path.is_file():
@@ -27,7 +25,7 @@ def load_node_group(group_name, *, asset_revision=None):
directory=directory,
filename=group_name,
link=False,
do_reuse_local_id=True,
do_reuse_local_id=False,
)
if "FINISHED" not in result:
raise RuntimeError("Unable to append the node asset")