Fix tray overlap in local renderer

This commit is contained in:
2026-08-11 01:54:41 +01:00
parent e6299f7d82
commit 7a92c65aa0
+7 -7
View File
@@ -458,8 +458,8 @@ def render_model(pack_root: Path, model_ref: str, output_path: Path, cache: dict
shadow = shadow.filter(ImageFilter.GaussianBlur(8))
canvas.alpha_composite(shadow)
faces: list[tuple[float, list[tuple[float, float, float]], Image.Image]] = []
for corners, element, model_data in transformed_elements:
faces: list[tuple[float, list[tuple[float, float, float]], Image.Image]] = []
for face_name, face in element.get("faces", {}).items():
vertices = face_vertices(corners, face_name)
if not vertices:
@@ -468,12 +468,12 @@ def render_model(pack_root: Path, model_ref: str, output_path: Path, cache: dict
texture = resolve_face_texture(pack_root, model_data, face)
faces.append((sort_face_key(projected), projected, texture))
faces.sort(key=lambda item: item[0])
for _, projected, texture in faces:
warped = transform_face(texture, projected, canvas)
if warped is None:
continue
canvas.alpha_composite(warped)
faces.sort(key=lambda item: item[0])
for _, projected, texture in faces:
warped = transform_face(texture, projected, canvas)
if warped is None:
continue
canvas.alpha_composite(warped)
canvas.save(output_path)