feat: print name in output filename; export panel trim; queue template fix

- Output filename now includes the print: <garment>_<print>.<ext>, e.g.
  1_TY030.png (folder grouping unchanged) (§17.12).
- Hide the single-export button (export via the queue) and remove the
  orphaned static export hint label (§17.13).
- Fix: selecting a non-fine-tuned queue item now lays the print out per the
  selected template (apply_current) instead of load_print's centred default;
  still guarded by _loading_queue_item so it isn't marked 已微调 (§17.14).

Docs: PRD 6.6/6.8/9, UI design 7.6/7.7/10/12.4, tasks.md 17.12–17.14.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-17 15:51:52 +08:00
co-authored by Claude Opus 4.8
parent 97341a5831
commit 7a1b9d8330
6 changed files with 80 additions and 44 deletions
+3 -3
View File
@@ -164,7 +164,7 @@
- 模板参数应基于衣服底图尺寸计算,避免只适配单一图片分辨率。
- 模板的 `width_ratio` / `height_ratio` 定义衣服上的**目标框**,而非强制拉伸尺寸。已知印花原始尺寸时,印花按自身宽高比缩放后 contain 进目标框并居中,不被拉伸变形;未知印花尺寸时退化为铺满目标框。
- 内置模板尺寸以贴近真实印花占比为准(例如正方形模板约为衣服宽度的 1/6,居中偏下),避免印花占据过大面积。
- 选中的模板是**粘性**的:在预览区切换衣服或切换印花时,印花不应丢失,应按当前选中模板基于新的衣服/印花尺寸重新计算落位,而非回退到画布的写死默认值。已手动微调的项不受影响,仍使用其自身参数。
- 选中的模板是**粘性**的:在预览区切换衣服、切换印花,或在合成队列中选中一个**未微调**的任务时,印花不应丢失,应按当前选中模板基于该任务的衣服/印花尺寸重新计算落位,而非回退到画布的写死默认值。已手动微调的项不受影响,仍使用其自身参数。
- **记住上次选择的模板**:程序退出前持久化当前选中的模板,下次启动自动恢复选中该模板。若该模板为自定义模板且已被删除,则回退到第一个内置模板。
- 提供 `位置` / `尺寸` / `旋转` **三项独立的重置**,分别只把对应参数还原为当前选中模板的值(位置→模板居中位置;尺寸→模板目标框内适配的大小;旋转→模板角度,通常为 0),三者互不影响。
- 另在参数栏底部提供 `位置尺寸旋转重置为当前模板`,一次性把位置、尺寸、旋转整体还原为模板,作为三项分项重置的「全部」入口。该按钮归属「调整参数」,放在参数栏(紧挨它操作的参数),不放在模板管理区域。
@@ -193,7 +193,7 @@
- 支持 JPG、PNG 输出。
- 支持输出质量设置。
- 文件名应避免覆盖已有文件,除非用户确认。
- 输出按「运行时间戳 → 印花」两级分组:每次导出运行先在输出目录下新建一个时间戳文件夹,其内再按印花分子文件夹,即 `输出目录/<时间戳>/<印花文件名>/<衣服文件名>.<扩展名>`(单张导出与批量导出一致)。
- 输出按「运行时间戳 → 印花」两级分组:每次导出运行先在输出目录下新建一个时间戳文件夹,其内再按印花分子文件夹,文件名为 `<衣服文件名>_<印花文件名>`,即 `输出目录/<时间戳>/<印花文件名>/<衣服文件名>_<印花文件名>.<扩展名>`(例如印花 `TY030`、衣服 `1` → `.../TY030/1_TY030.png`;单张导出与批量导出一致)。
- 一次导出运行(一次批量,或一次单张)共用同一个时间戳,避免重复生成时互相覆盖或混在一起。
### 6.9 批量合成导出
@@ -297,7 +297,7 @@ CMBot/
output/
<时间戳>/ # 每次导出运行一个时间戳文件夹(如 20260617_143022)
<印花文件名>/ # 其内按印花分组,子文件夹以印花文件名命名
<衣服文件名>.png
<衣服文件名>_<印花文件名>.png # 文件名 = 衣服名_印花名,如 1_TY030.png
...
resources/
```
+9 -15
View File
@@ -284,32 +284,25 @@ Shift 锁比例
- 质量设置用于 JPG 或需要压缩的输出格式。
- `格式` 与 `质量` 是一对相关设置,放在**同一行**;`质量` 仅在选中 JPG 时可用(PNG 时置灰),并排能体现「先选格式 → 质量才可用」的关系。
### 7.6 提示信息区域
### 7.6 提示信息区域(暂缓)
用于显示当前操作影响范围。
用于显示当前操作影响范围。**当前未实现**:早期导出面板有一条静态提示,因从未接入动态内容(操作范围说明)已移除;待真正需要按「当前单张 / 选中队列项 / 批量模板」给出范围提示时再加。
示例:
设想示例:
```text
当前调整将仅作用于队列中选中的「黑T_短袖 × 花卉_001」,并标记为「已微调」,重跑模板时不被覆盖。
```
要求:
要求(实现时):
- 提示语需要明确说明当前参数影响的是当前单张、选中队列项还是批量模板。
- 警告和错误信息不能只用颜色表达。
### 7.7 操作按钮
主要按钮:
- `导出当前单张`
要求:
- `导出当前单张` 使用主按钮样式。
- 当前缺少衣服图或印花图时,导出按钮应禁用。
- 导出面板只负责输出与导出;模板相关操作(保存 / 另存为 / 重置为模板)统一放在模板区域(7.1),不在导出面板重复设置,避免同一动作出现两次。
- `导出当前单张` 按钮**当前隐藏**:导出统一通过底部合成队列完成(`开始批量导出` / `导出选中`),导出面板只承担输出设置。代码保留该按钮与单张导出逻辑,后续需要时可再显示。
- 导出面板不重复放置模板相关操作(保存 / 另存为 / 删除统一在模板区域 7.1),避免同一动作出现两次。
## 8. 底部合成队列
@@ -457,7 +450,7 @@ Microsoft YaHei
按钮层级(一套主色,按角色克制使用):
- **主按钮**:主色填充、白字。用于每个区域「推动流程前进」的唯一动作:左侧 `打开文件夹`、右侧 `导出当前单张`、底部 `开始批量导出`。三者分处不同区域,各自是本区域主操作,不互相竞争。
- **主按钮**:主色填充、白字。用于每个区域「推动流程前进」的唯一动作:左侧 `打开文件夹`、底部 `开始批量导出`。各自是本区域主操作,不互相竞争。(导出面板的 `导出当前单张` 当前隐藏,见 7.7。)
- **次按钮**:白底、主色描边与文字。用于有意义但非主线的动作,如模板区域的 `另存为`。
- **辅助按钮**:浅灰底、细边框。用于就地微调类动作,如 `浏览…`、排序、`左旋 / 右旋`、模板区域的 `保存`。
- **重置类按钮**:最安静的一档,用于「还原为模板」的动作(三个分区的 `↺ 重置` 与底部的 `位置尺寸旋转重置为当前模板`)。它们属于「纠正/撤销」类动作,不占用常驻强调色;强调色只在悬停时短暂出现以表达意图。重置可逆,因此**不使用红色/警告色**。
@@ -528,7 +521,8 @@ Microsoft YaHei
- 队列行高亮。
- 预览区显示该队列项的衣服、印花和参数。
- 若该队列项被手动调整,参数状态显示为 `已微调`。
- 未微调的任务:印花按**当前选中模板**落位(与导出时一致),而非画布的写死默认值。
- 若该队列项被手动调整,参数状态显示为 `已微调`,预览使用其自身参数。
### 12.5 正在批量导出