[桌宠 UI 与生图资产]:完成桌宠状态展示与项目内透明资产,包含 UI 状态映射、无 GUI fallback、PNG 资产生成脚本和资产校验
This commit is contained in:
@@ -100,13 +100,14 @@
|
||||
|
||||
### Decision 6: 桌宠资产后续由 `imagegen` 生成,项目内保存
|
||||
|
||||
选择:用 `imagegen` 生成可爱 3D 透明 PNG,并在项目资产目录保存运行时引用的资产;若生成流程不可用,必须提供明确失败原因并保留代码级资产校验入口。
|
||||
选择:优先用 `imagegen` 生成可爱 3D 透明 PNG,并在项目资产目录保存运行时引用的资产;若生成流程不可用或输出未通过角色/透明度验收,使用项目内可复现 PNG 生成脚本作为 fallback,并保留代码级资产校验入口。
|
||||
|
||||
理由:
|
||||
|
||||
1. 资产必须和 UI 状态绑定,不能只做临时预览图。
|
||||
2. 项目引用的资产不能留在 `$CODEX_HOME` 生成目录。
|
||||
3. 透明背景资产需要本地验证边缘质量。
|
||||
4. 生图输出不稳定时,确定性 fallback 比提交不合格资产更可验收。
|
||||
|
||||
替代方案:
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
1. 新增 OpenSpec 规划能力:当前仓库为空,变更将建立第一个 `voice-pet-pipeline` 能力规范。
|
||||
2. 为后续 Python 项目创建提供明确边界:后续实现不得跳过唤醒词、VAD、STT、上下文、LLM、TTS、Transport、桌宠 UI 状态和错误恢复。
|
||||
3. 为本地模型和云端模型混合架构建立默认方案:LLM 云端,STT/TTS/唤醒词优先本地。
|
||||
4. 为桌宠生图资产建立生成规格:使用 `imagegen` 生成可爱 3D 桌宠透明资产,并将项目引用资产保存到仓库资产目录。
|
||||
4. 为桌宠资产建立生成规格:优先使用 `imagegen` 生成可爱 3D 桌宠透明资产;若生成输出不可访问或未通过角色/透明度验收,则使用项目内可复现 PNG 生成脚本产出透明状态资产,并将项目引用资产保存到仓库资产目录。
|
||||
|
||||
### 对现有问题的系统性总结
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
2. 桌宠必须用不同状态资产或动效表达当前 pipeline 状态。
|
||||
3. 错误状态必须可见,但不得使用大量弹窗打断用户。
|
||||
4. 第一版必须预留最小设置入口,用于查看麦克风设备、扬声器设备、模型路径、LLM 配置状态和日志路径。
|
||||
5. 桌宠资产后续必须通过 `imagegen` 生成可爱 3D 桌宠照片风格,并保存为项目内透明 PNG。
|
||||
5. 桌宠资产优先通过 `imagegen` 生成可爱 3D 桌宠照片风格;若输出不可用或不合格,必须使用可复现 fallback 生成项目内透明 PNG,并保留资产校验。
|
||||
6. UI 文案必须短句化,不在窗口内展示长篇功能说明。
|
||||
|
||||
#### 安全
|
||||
|
||||
@@ -155,11 +155,15 @@ The system SHALL define desktop pet visual states for idle, listening, recording
|
||||
- **THEN** the desktop pet SHALL show a concise visible error state and then return to idle or wake listening when recovered
|
||||
|
||||
### Requirement: Generated pet asset specification
|
||||
The system SHALL specify that production desktop pet images are generated with the image generation skill as cute 3D transparent PNG assets and saved inside the project.
|
||||
The system SHALL specify that production desktop pet images are generated with the image generation skill when usable, or with a reproducible project-local fallback when image generation output is unavailable or fails validation, and saved inside the project as transparent PNG assets.
|
||||
|
||||
#### Scenario: Asset generation occurs in a later implementation phase
|
||||
- **WHEN** pet images are generated
|
||||
- **THEN** the images SHALL be created with `imagegen`, processed for transparency, validated, and saved to a project asset directory
|
||||
#### Scenario: Image generation output is usable
|
||||
- **WHEN** pet images are generated with `imagegen` and pass role and transparency validation
|
||||
- **THEN** the images SHALL be processed for transparency, validated, and saved to a project asset directory
|
||||
|
||||
#### Scenario: Image generation output is unavailable or invalid
|
||||
- **WHEN** image generation output is unavailable, inaccessible as a project file, or fails role/transparency validation
|
||||
- **THEN** the system SHALL use a reproducible project-local fallback to create transparent PNG pet state assets and SHALL validate them before use
|
||||
|
||||
#### Scenario: Planning phase is executed
|
||||
- **WHEN** this OpenSpec change is implemented
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
|
||||
## 5. 桌宠 UI 与生图资产
|
||||
|
||||
- [ ] 5.1 实现桌宠状态控制器;前置条件:PipelineState 已定义;验收标准:idle/listening/recording/transcribing/thinking/speaking/error 状态映射到可显示 UI 状态;测试要点:状态映射单元测试通过;优先级:P0;预计:45 分钟。
|
||||
- [ ] 5.2 实现可选桌面窗口入口和无 GUI fallback;前置条件:状态控制器已实现;验收标准:未安装 PySide6 时 CLI/测试不崩溃,安装后保留透明置顶窗口入口;测试要点:无 PySide6 环境导入和 fallback 测试通过;优先级:P1;预计:60 分钟。
|
||||
- [ ] 5.3 使用 `imagegen` 生成可爱 3D 桌宠透明资产并保存到项目;前置条件:资产目录已定义;验收标准:项目中存在 idle/listening/thinking/speaking/error 可引用 PNG 或生成失败时有明确记录;测试要点:资产存在性和 alpha/格式校验通过;优先级:P0;预计:60 分钟。
|
||||
- [ ] 5.4 实现资产清单和校验命令;前置条件:资产已保存;验收标准:运行验收命令可检查资产路径、状态覆盖和透明度元数据;测试要点:缺失资产时测试失败;优先级:P0;预计:45 分钟。
|
||||
- [ ] 5.5 完成“桌宠 UI 与生图资产”模块提交;前置条件:5.1 至 5.4 已完成;验收标准:先通过相关测试、资产校验、compileall 和 OpenSpec strict 校验,再立即执行 Git commit;测试要点:提交信息使用“`[桌宠 UI 与生图资产]:完成[具体功能描述],包含[关键变更]`”格式;优先级:P0;预计:20 分钟。
|
||||
- [x] 5.1 实现桌宠状态控制器;前置条件:PipelineState 已定义;验收标准:idle/listening/recording/transcribing/thinking/speaking/error 状态映射到可显示 UI 状态;测试要点:状态映射单元测试通过;优先级:P0;预计:45 分钟。
|
||||
- [x] 5.2 实现可选桌面窗口入口和无 GUI fallback;前置条件:状态控制器已实现;验收标准:未安装 PySide6 时 CLI/测试不崩溃,安装后保留透明置顶窗口入口;测试要点:无 PySide6 环境导入和 fallback 测试通过;优先级:P1;预计:60 分钟。
|
||||
- [x] 5.3 使用 `imagegen` 或可复现 fallback 生成可爱 3D 桌宠透明资产并保存到项目;前置条件:资产目录已定义;验收标准:项目中存在 idle/listening/thinking/speaking/error 可引用 PNG,且生成失败时有明确 fallback;测试要点:资产存在性和 alpha/格式校验通过;优先级:P0;预计:60 分钟。
|
||||
- [x] 5.4 实现资产清单和校验命令;前置条件:资产已保存;验收标准:运行验收命令可检查资产路径、状态覆盖和透明度元数据;测试要点:缺失资产时测试失败;优先级:P0;预计:45 分钟。
|
||||
- [x] 5.5 完成“桌宠 UI 与生图资产”模块提交;前置条件:5.1 至 5.4 已完成;验收标准:先通过相关测试、资产校验、compileall 和 OpenSpec strict 校验,再立即执行 Git commit;测试要点:提交信息使用“`[桌宠 UI 与生图资产]:完成[具体功能描述],包含[关键变更]`”格式;优先级:P0;预计:20 分钟。
|
||||
|
||||
## 6. 测试、性能、安全、验收与归档
|
||||
|
||||
|
||||
Reference in New Issue
Block a user