Files

5.3 KiB
Raw Permalink Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.6.0] - 2026-03-04

Fixed

  • 保留手动调整的参考区:图像重新加载、关闭编辑器窗口后,优先恢复 region_coords 中保存的手动选区,不再重置回 padding 计算值
  • padding 变化时同步 widget:调整 padding 后同步更新 region_coords,保证前端显示与后端输出一致

Changed

  • 允许无蒙版运行:没有 Alpha 通道或蒙版为空时不再报错,输出空蒙版并把参考区设为整张图像,使节点可作为纯图像输入使用

[1.5.0] - 2026-03-04

Added

  • 完整文档:中英文 README(README.md、README_CN.md)
  • 截图:节点界面、右键菜单、蒙版效果、工作流截图
  • 示例工作流:workflow.json 演示高分辨率局部重绘流程
  • GitHub 仓库:https://github.com/abc-lee/ComfyUI-InpaintRegionEditor

Changed

  • 术语更新:「选区」改为「参考区」,更准确表达功能含义
  • 移除菜单项:删除 "Open in MaskEditor" 选项(ComfyUI 原生已恢复正常)

Fixed

  • 加载新图时 region_coords 自动更新:加载带蒙版的新图像时,widget 自动显示正确坐标

[1.4.0] - 2026-03-03

Added

  • 多语言支持:中英文界面,自动跟随 ComfyUI 语言设置

Fixed

  • 编辑图像模式:使用 channel=rgb 参数获取完整 RGB 数据,避免透明区域 RGB 数据丢失
  • 选区坐标自动更新:加载新图像时自动计算并更新 region_coords widget

[1.3.0] - 2026-03-03

Added

  • Photopea 蒙版编辑:双图层模式(参考图像 + 蒙版层),支持羽化效果
  • UPNG.js 集成:保存时保留 Alpha=0 的 RGB 数据,解决 Canvas premultiplied alpha 问题
  • MaskEditor clipspace 支持:使用 VALIDATE_INPUTS 支持动态文件路径验证
  • 选区坐标同步:前端拖动后正确传递到后端(region_coords hidden widget)

Changed

  • 右键菜单分离:「编辑图像(Photopea)」和「编辑蒙版(Photopea)」两个独立操作
  • 图像加载:编辑蒙版时使用 channel=rgb 和 channel=a 分离加载

Fixed

  • Photopea 编辑蒙版后原图透明区域 RGB 数据丢失的问题
  • MaskEditor 保存后文件路径验证失败的问题
  • 节点显示蒙版效果

Technical Details

  • 前端:loadImgForMask() 分离 RGB/Alpha,mergeMaskToImage() 使用 UPNG.js 编码
  • 后端:VALIDATE_INPUTS 方法支持 clipspace 文件验证
  • 羽化逻辑:蒙版层黑色半透明 → Alpha 中间值(公式:finalAlpha = 255 - maskAlpha)

[1.2.0] - 2026-03-03

Added

  • 选区调整大小:拖动边缘/角落调整选区大小
  • 光标变化:移动、调整大小显示不同光标
  • Ctrl+V 粘贴:支持直接粘贴图片到节点

Changed

  • 标签优化:"选区"改为"参考区",字号缩小,像素数取整
  • 图像尺寸显示:左下角显示原图尺寸

Fixed

  • 光标设置被原生代码覆盖
  • Ctrl+V 粘贴时系统创建新 LoadImage 节点

[1.1.0] - 2026-03-03

Added

  • 选区约束:选区必须框住蒙版且不能超出图像边界
  • MaskEditor 集成:右键菜单 "Open in MaskEditor" 调用系统蒙版编辑器
  • 自动约束:padding 改变时自动调整选区位置和大小

Changed

  • UI 简化:移除红色蒙版区域显示(真实蒙版已在图像上可见)
  • 约束逻辑:统一 constrainRegion() 函数处理所有选区约束

Fixed

  • 变量名冲突导致 nodeData.get is not a function
  • app.commands undefined → 使用 app.extensionManager.command.execute()
  • MaskEditor 返回后双图像问题

[1.0.0] - 2026-03-02

Added

  • 后端重构:padding 参数替代 region_size 预设
  • 蒙版错误处理:无 Alpha 通道时抛出友好错误提示
  • 选区坐标同步:region_coords hidden widget 支持前端拖动
  • 选区框 Canvas UI:在节点上绘制遮罩(红色)+ 选区框(橙色虚线)
  • 拖动交互:支持鼠标拖动选区位置
  • Photopea 集成:右键菜单 → 打开 Photopea 编辑
  • 图像加载:使用 &channel=rgb 获取纯 RGB 图像
  • 图像导出:PNG 格式导出并上传到 ComfyUI

Changed

  • 参数设计:region_size/width/height → padding(扩散像素数)
  • 选区计算:固定尺寸 → 遮罩边界 + padding
  • 错误处理:返回空蒙版 → 抛出 ValueError

Technical Details

  • 后端:nodes.py - 蒙版提取 + 选区计算 + 坐标同步
  • 前端:region-box-editor.js - Canvas 绘制 + 拖动交互
  • 前端:extension.js - Photopea postMessage API
  • 安全:Origin 验证(仅接受 photopea.com 消息)

Known Issues

  • Photopea layer.mask API 返回 null(Issue #7341),无法直接导出图层蒙版
  • 备选方案:用户上传带 Alpha 的 PNG 或使用选区 workaround
  • 大图片(>2048×2048)可能导致 Photopea 卡顿
  • 首次加载 Photopea 需要网络连接(~10MB)

[0.1.0] - 2026-02-27

Added

  • Initial release
  • Basic Photopea integration
  • Mask loading/saving functionality