docs: reconcile tasks.md with actual state

Tick §17.1–17.6 (persistence, independent resets, button dedup, relocate/rename,
template delete, compact layout — all implemented earlier). Clean up §18: move
delivered online-update/distribution out of the backlog; add stage-4 (mandatory/
retention) as the remaining update work.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 11:37:17 +08:00
co-authored by Claude Opus 4.8
parent 56f2767ca0
commit 30814b6bd6
+56 -52
View File
@@ -554,20 +554,20 @@
任务:
- [ ] 先读取 `src/services/config_service.py` 与 `src/app/main_window.py` 现有内容
- [ ] 在 `main_window` 启动时调用 `load_config()` 并把初值分发给各面板(集中管理,不让控件各自读写)
- [ ] 在 `config_service` 默认配置中新增 `last_template`、`last_batch_mode`
- [ ] 记住并在启动时恢复上次选择的模板;自定义模板已删除时回退到第一个内置模板
- [ ] 记住并在启动时恢复上次选择的批量模式;持久化值非法时回退默认(全组合)
- [ ] 面板选择变化时「改一次存一次」回写配置
- [ ] `template_panel` 增加模板选择变化信号(携带模板名)
- [ ] `queue_panel` 增加 `set_batch_mode()` 与批量模式变化信号
- [x] 先读取 `src/services/config_service.py` 与 `src/app/main_window.py` 现有内容
- [x] 在 `main_window` 启动时调用 `load_config()` 并把初值分发给各面板(集中管理,不让控件各自读写)
- [x] 在 `config_service` 默认配置中新增 `last_template`、`last_batch_mode`
- [x] 记住并在启动时恢复上次选择的模板;自定义模板已删除时回退到第一个内置模板
- [x] 记住并在启动时恢复上次选择的批量模式;持久化值非法时回退默认(全组合)
- [x] 面板选择变化时「改一次存一次」回写配置
- [x] `template_panel` 增加模板选择变化信号(携带模板名)
- [x] `queue_panel` 增加 `set_batch_mode()` 与批量模式变化信号
验收:
- [ ] 重启后自动恢复上次选择的模板和批量模式
- [ ] 自定义模板被删除或批量模式值非法时安全回退,不报错
- [ ] UI 控件不直接读写配置文件
- [x] 重启后自动恢复上次选择的模板和批量模式
- [x] 自定义模板被删除或批量模式值非法时安全回退,不报错
- [x] UI 控件不直接读写配置文件
### 17.2 位置 / 尺寸 / 旋转独立重置
@@ -578,19 +578,19 @@
任务:
- [ ] 先读取 `src/app/widgets/transform_panel.py` 现有内容
- [ ] 在 `位置` / `尺寸` / `旋转` 三个分区标题右侧各加一个独立 `重置` 按钮
- [ ] 各重置只把对应参数还原为当前选中模板的值,互不影响(位置→仅 X/Y;尺寸→仅宽/高,位置不变;旋转→仅角度)
- [ ] 移除合并的 `重置位置 / 尺寸 / 角度` 按钮与角度旁的 `归零` 按钮
- [ ] 重置按钮采用幽灵样式(静止灰、悬停蓝、按下深蓝、禁用更灰),不使用红色
- [ ] 未选模板或未加载衣服/印花时三个按钮置灰
- [ ] 由 `main_window` 取模板换算值并按项合并进当前 `TransformState`
- [x] 先读取 `src/app/widgets/transform_panel.py` 现有内容
- [x] 在 `位置` / `尺寸` / `旋转` 三个分区标题右侧各加一个独立 `重置` 按钮
- [x] 各重置只把对应参数还原为当前选中模板的值,互不影响(位置→仅 X/Y;尺寸→仅宽/高,位置不变;旋转→仅角度)
- [x] 移除合并的 `重置位置 / 尺寸 / 角度` 按钮与角度旁的 `归零` 按钮
- [x] 重置按钮采用幽灵样式(静止灰、悬停蓝、按下深蓝、禁用更灰),不使用红色
- [x] 未选模板或未加载衣服/印花时三个按钮置灰
- [x] 由 `main_window` 取模板换算值并按项合并进当前 `TransformState`
验收:
- [ ] 位置、尺寸、旋转可分别独立重置,互不影响
- [ ] 尺寸重置只改变宽 / 高,不改变位置 X / Y
- [ ] 按钮视觉层级符合 `docs/07-ui-design.md` 第 10 节
- [x] 位置、尺寸、旋转可分别独立重置,互不影响
- [x] 尺寸重置只改变宽 / 高,不改变位置 X / Y
- [x] 按钮视觉层级符合 `docs/07-ui-design.md` 第 10 节
### 17.3 按钮去重(导出面板模板入口)
@@ -600,13 +600,13 @@
任务:
- [ ] 移除导出面板的 `应用为模板` 与 `重置为模板` 按钮(与模板区域的 `另存为` / `重置为模板` 是同一动作的重复入口)
- [ ] 模板相关操作统一留在模板区域,导出面板只负责输出与导出
- [x] 移除导出面板的 `应用为模板` 与 `重置为模板` 按钮(与模板区域的 `另存为` / `重置为模板` 是同一动作的重复入口)
- [x] 模板相关操作统一留在模板区域,导出面板只负责输出与导出
验收:
- [ ] 同一个动作在界面上只出现一次,命名一致
- [ ] 导出面板仅保留输出设置与 `导出当前单张`
- [x] 同一个动作在界面上只出现一次,命名一致
- [x] 导出面板仅保留输出设置与 `导出当前单张`
### 17.4 「重置为模板」归位并更名为「位置尺寸旋转重置为当前模板」
@@ -616,17 +616,17 @@
任务:
- [ ] 把模板区域的 `重置为模板` 按钮移出,移到参数栏底部(旋转分区下方)
- [ ] 更名为 `位置尺寸旋转重置为当前模板`,与三个分项 `↺ 重置` 构成「全部 + 分项」两级
- [ ] 还原逻辑改为把位置/尺寸/旋转整体设为模板值,并与分项重置同走 `_apply_preview_transform`
- [ ] 与三个分项重置一起受「未加载图片时置灰」控制
- [ ] 采用安静、全宽、悬停出强调色的样式(不使用红色)
- [x] 把模板区域的 `重置为模板` 按钮移出,移到参数栏底部(旋转分区下方)
- [x] 更名为 `位置尺寸旋转重置为当前模板`,与三个分项 `↺ 重置` 构成「全部 + 分项」两级
- [x] 还原逻辑改为把位置/尺寸/旋转整体设为模板值,并与分项重置同走 `_apply_preview_transform`
- [x] 与三个分项重置一起受「未加载图片时置灰」控制
- [x] 采用安静、全宽、悬停出强调色的样式(不使用红色)
验收:
- [ ] 模板区域只剩 `保存` / `另存为`,不含整体重置
- [ ] `位置尺寸旋转重置为当前模板` 在旋转分区下方,未加载图片时置灰
- [ ] 点击后位置、尺寸、旋转一并还原为当前选中模板
- [x] 模板区域只剩 `保存` / `另存为`,不含整体重置
- [x] `位置尺寸旋转重置为当前模板` 在旋转分区下方,未加载图片时置灰
- [x] 点击后位置、尺寸、旋转一并还原为当前选中模板
### 17.5 模板删除按钮
@@ -636,17 +636,17 @@
任务:
- [ ] 在模板区域增加 `删除` 按钮(复用 `template_service.delete_template`)
- [ ] `删除` 仅对自定义模板可用,选中内置模板时隐藏(与 `保存` 一致)
- [ ] 删除前弹二次确认对话框;确认后才删除
- [ ] 删除后刷新下拉框并回选第一个内置模板,同步持久化选择
- [ ] `删除` 用红色文字提示危险但保持安静样式
- [x] 在模板区域增加 `删除` 按钮(复用 `template_service.delete_template`)
- [x] `删除` 仅对自定义模板可用,选中内置模板时隐藏(与 `保存` 一致)
- [x] 删除前弹二次确认对话框;确认后才删除
- [x] 删除后刷新下拉框并回选第一个内置模板,同步持久化选择
- [x] `删除` 用红色文字提示危险但保持安静样式
验收:
- [ ] 可在界面上删除自定义模板,无需手改 `templates.json`
- [ ] 内置模板不显示 `删除`
- [ ] 删除有二次确认,取消则不删
- [x] 可在界面上删除自定义模板,无需手改 `templates.json`
- [x] 内置模板不显示 `删除`
- [x] 删除有二次确认,取消则不删
### 17.6 参数/导出面板紧凑化与命名
@@ -656,17 +656,17 @@
任务:
- [ ] 「位置」的 X、Y 输入框放在同一行(标签简化为 `X` / `Y`)
- [ ] 「尺寸」的宽、高输入框放在同一行(标签简化为 `宽` / `高`),`锁定宽高比例` 在其下方
- [ ] 导出面板「格式」「质量」放在同一行
- [ ] 底部整体重置按钮更名为 `位置尺寸旋转重置为当前模板`
- [ ] 仅改布局/文案,不动同步与导出逻辑
- [x] 「位置」的 X、Y 输入框放在同一行(标签简化为 `X` / `Y`)
- [x] 「尺寸」的宽、高输入框放在同一行(标签简化为 `宽` / `高`),`锁定宽高比例` 在其下方
- [x] 导出面板「格式」「质量」放在同一行
- [x] 底部整体重置按钮更名为 `位置尺寸旋转重置为当前模板`
- [x] 仅改布局/文案,不动同步与导出逻辑
验收:
- [ ] X/Y 一行、宽/高一行、格式/质量一行,界面更紧凑
- [ ] 拖动/缩放预览后输入框仍正常同步
- [ ] 质量仍仅在 JPG 时可用
- [x] X/Y 一行、宽/高一行、格式/质量一行,界面更紧凑
- [x] 拖动/缩放预览后输入框仍正常同步
- [x] 质量仍仅在 JPG 时可用
### 17.7 移除重复的自绘标题栏与无效「设置」按钮
@@ -971,12 +971,16 @@
以下任务第一阶段暂不做,后续需要时再新增设计文档:
- [ ] 局域网分发
- [ ] 自动更新
- [ ] 多版本启动器
- [ ] 按电脑名控制版本
- [ ] 强制更新与版本保留策略(`mandatory` / `min_supported` 生效、`app.old` 保留策略;docs/10 §16 阶段④)
- [ ] AI 穿搭
- [ ] 导出上架流程
- [ ] 自动抠图
- [ ] 自动识别衣服区域
- [ ] 移动端应用
已交付(原属暂缓,本季完成,见 §17.16–§17.20、`docs/10-lan-update.md`):
- [x] 在线更新(HTTP 检测 + 通知 + `Launcher.exe` 自动安装 + 回滚)
- [x] 局域网/在线分发(便携包 + HTTP 文件服务 + manifest)
- [x] ~~多版本启动器~~(改为 `app`/`app.old` 单版本切换,不再做多版本并排)