feat(ai-studio): keep workspace usable during generation

This commit is contained in:
chengma
2026-07-13 09:38:30 +08:00
parent 14282306f6
commit 42fe233ed9
4 changed files with 198 additions and 25 deletions
+12 -2
View File
@@ -3,7 +3,7 @@ id: T-612
title: AI工场生图运行态分级,保留当前项目非冲突操作
phase: 7
deps: [T-594, T-604, T-608, T-609]
status: TODO
status: DONE
created: 2026-07-13
---
@@ -92,4 +92,14 @@ git diff --check
## 执行记录
(完成后记录实现、验证命令与人工验收结果。)
- 2026-07-13:完成 AI工场生图运行态分级。
- `app/gui/tabs/image_studio.py`:为通用 worker 增加 `operation_kind`,区分生成/继续查询、拉主图、导出等操作;生成/继续查询期间保留照片池、终选、提示词模板/编辑和下一轮参数,仍禁用项目切换、原图区下载、拉图、开始/继续查询、导出、删除。
- `app/gui/tabs/image_studio.py`:生成 worker 创建时固定使用当时的源图、提示词和参数;界面显示「本轮任务已固定;此处修改将在下一轮生成时生效」。打开项目文件夹在生成期间仍可用。
- `app/gui/tabs/image_studio.py`:`_start_worker()` 在上一 QThread 尚未发出 `thread.finished` 时拒绝启动下一 worker;拉图、生成、继续查询、导出、删除和移除照片增加运行中保护,避免程序化调用绕过禁用按钮。
- `docs/routes.md`:更新⑥ AI工场的生成运行态边界。
- `tests/test_gui.py`:新增生成态控件清单/参数快照测试,以及线程收尾前禁止启动下一 worker 的测试。
- 验证:
- 主工作区定向 GUI 测试通过:4 项,覆盖生成运行态、参数快照和线程生命周期。
- 主工作区 `python -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`git diff --check` 通过。
- 主工作区全量 unittest 因既有未提交默认提示词文件变更失败 3 项(`papa1` 被乱码默认模板替代),不属于本任务。
- 干净 worktree `D:\chengma\cmshopee-t612-verify` 仅应用本任务差异后通过:`python -m ruff check app tests main.py`、`py -3.10 -m compileall app main.py`、`py -3.10 -m unittest discover -s tests`(389 项)及 `git diff --check`。