feat: complete core data models

Add Template, ExportOptions, BatchMode, BatchOptions, ComposeResult,
BatchResult to models.py. Keep existing ImageAsset and TransformState,
adding center() helper to TransformState.

Template uses ratio-based fields with to_transform_state() to convert
to pixel coordinates for any garment size.
BatchMode enum covers all four batch modes from PRD.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 16:56:36 +08:00
co-authored by Claude Sonnet 4.6
parent 134896fcd2
commit b692e3aa42
2 changed files with 125 additions and 19 deletions
+12 -12
View File
@@ -133,21 +133,21 @@
任务:
- [ ] 先读取 `src/core/models.py` 现有内容
- [ ] 完善 `src/core/models.py`
- [ ] 定义 `ImageAsset`
- [ ] 定义 `TransformState`
- [ ] 定义 `Template`
- [ ] 定义 `ExportOptions`
- [ ] 定义 `BatchOptions`
- [ ] 定义 `ComposeResult`
- [ ] 定义 `BatchResult`
- [x] 先读取 `src/core/models.py` 现有内容
- [x] 完善 `src/core/models.py`
- [x] 定义 `ImageAsset`
- [x] 定义 `TransformState`
- [x] 定义 `Template`
- [x] 定义 `ExportOptions`
- [x] 定义 `BatchOptions`
- [x] 定义 `ComposeResult`
- [x] 定义 `BatchResult`
验收:
- [ ] `models.py` 不依赖 PySide6 UI 控件
- [ ] 变换状态包含 `x/y/width/height/rotation/keep_aspect_ratio`
- [ ] 模型可以被 core、services 和 UI 层复用
- [x] `models.py` 不依赖 PySide6 UI 控件
- [x] 变换状态包含 `x/y/width/height/rotation/keep_aspect_ratio`
- [x] 模型可以被 core、services 和 UI 层复用
## 3. 文件扫描与素材导入