Add development changelog
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 开发日志
|
||||
|
||||
## 2026-02-27
|
||||
|
||||
### 会话概述
|
||||
ULW 头脑风暴会话,实现 ComfyUI InpaintRegionEditor 自定义节点。
|
||||
|
||||
### 完成的工作
|
||||
|
||||
1. **需求分析**
|
||||
- 理解遮罩 vs 选区的概念
|
||||
- 遮罩:定义重绘区域
|
||||
- 选区:定义参考区域(大模型重绘时参考)
|
||||
- 约束:选区必须 >= 遮罩
|
||||
|
||||
2. **后端实现** (`nodes.py`)
|
||||
- 图像输入 + 选区预设(512x512, 1024x1024等)
|
||||
- 输出:图像、遮罩、选区坐标
|
||||
- 自动计算选区位置(居中于遮罩)
|
||||
|
||||
3. **前端实现** (`web/extension.js`)
|
||||
- 右键菜单 "Open in Photopea"
|
||||
- Photopea iframe 全屏编辑器
|
||||
- 图像 + 蒙版双向同步
|
||||
- postMessage 通信(带 origin 验证)
|
||||
|
||||
### 技术决策
|
||||
|
||||
| 决策 | 选择 | 原因 |
|
||||
|------|------|------|
|
||||
| 节点模式 | Classic | 更多样例,更稳定 |
|
||||
| 编辑器 | Photopea iframe | 免费、功能完整、PS兼容 |
|
||||
| 通信 | postMessage API | Photopea 官方支持 |
|
||||
|
||||
### 关键代码片段
|
||||
|
||||
**Photopea 通信:**
|
||||
```javascript
|
||||
// 安全验证 origin
|
||||
if (event.origin !== "https://www.photopea.com") return;
|
||||
|
||||
// 打开图像
|
||||
await postMessage('app.open("' + base64 + '", null, false);');
|
||||
|
||||
// 导出图像
|
||||
await postMessage('app.activeDocument.saveToOE("png");');
|
||||
```
|
||||
|
||||
**蒙版作为图层蒙版加载:**
|
||||
```javascript
|
||||
// 打开蒙版作为新图层,然后转换为图层蒙版
|
||||
await postMessage('app.open("' + maskBase64 + '", null, true);');
|
||||
// 复制到图层蒙版...
|
||||
```
|
||||
|
||||
### 待解决问题
|
||||
|
||||
1. 图层蒙版导出脚本需要实际测试
|
||||
2. 大图像可能有性能问题
|
||||
3. Photopea 首次加载需要网络
|
||||
|
||||
### Git 提交
|
||||
|
||||
- `cf0f8e4`: Initial commit
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 测试完整工作流
|
||||
2. 修复可能的 bug
|
||||
3. 优化用户体验
|
||||
Reference in New Issue
Block a user