feat(ai-studio): keep workspace usable during generation
This commit is contained in:
+1
-1
@@ -200,7 +200,7 @@
|
||||
- 底部终选盘分为主图和详情图两列;照片池中已下载/已生成且本地文件可用的图片可拖入终选,落到已有位置时按插入顺延,同一类别内同一照片只能出现一次,主图和详情图之间允许复用同一照片。
|
||||
- 终选列表内可拖动重排,Delete 或右键「移出终选」只移出终选,不删除照片池资产或本地文件;拖放/移出失败时刷新回 SQLite 中的持久化顺序。
|
||||
- 主图推荐 1:1;比例不匹配只用黄色轻提示和 tooltip 提醒,不硬拦。文件缺失或尚未下载的照片不能拖入终选。
|
||||
- 拉主图、下载原图、生图 submit/poll/download 均通过 worker 执行,主线程只刷新 UI;运行中禁用项目切换、模板编辑、源图选择、终选拖放和生成设置,停止为协作式停止。
|
||||
- 拉主图、下载原图、生图 submit/poll/download 均通过 worker 执行,主线程只刷新 UI。拉主图、导出等互斥 worker 运行时禁用项目切换和工作区写操作;生图或继续查询任务运行时仍只允许一个耗时 worker,但当前项目的照片池浏览/源图选择、主图和详情图终选拖放、提示词模板编辑以及下一轮类型/数量/比例设置保持可用。这些修改只作用于下一轮,当前已提交任务的参数不变;此时仍禁用项目切换、原图区下载、拉主图、开始生成、继续查询、导出和删除项目,停止为协作式停止。
|
||||
- 「导出终选」可在主图/详情图未满目标数量时导出当前终选;主图和详情图总数为 0 时阻断。用户选择导出父目录后,程序在其下创建商品 ID 子目录,按终选顺序转码为 `商品ID_主图_1.jpg`、`商品ID_详情图_1.jpg`,透明图铺白底输出真正 JPEG。
|
||||
- 商品目录已存在时只提供三选:覆盖本软件导出的图片(仅删除匹配当前商品命名规则的旧主图/详情图,保留用户其它文件)、新建带时间目录、取消;不提供合并,也不递归清空用户目录。
|
||||
- 导出前会预检所有终选源文件和图片解码,先写 staging,转码失败不创建商品目录、不留下半套新图;成功后中文提示实际目录和主图/详情图数量,并提供打开目录。
|
||||
|
||||
+12
-2
@@ -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`。
|
||||
|
||||
Reference in New Issue
Block a user