# Template Element Composition - 实现任务清单 ## 1. 核心实现 - [x] 1.1 修改 `Presentation.render_slide()` 方法支持混合模式 - [x] 1.2 实现模板元素和自定义元素的合并逻辑(简单追加策略) - [x] 1.3 实现自定义元素对模板变量的访问(复用 `Template.resolve_element()`) - [x] 1.4 处理空 `elements` 列表的情况(等同于不指定 elements) ## 2. 单元测试 - [x] 2.1 添加测试:纯模板模式(向后兼容验证) - [x] 2.2 添加测试:纯自定义元素模式(向后兼容验证) - [x] 2.3 添加测试:混合模式基本功能 - [x] 2.4 添加测试:自定义元素访问模板变量 - [x] 2.5 添加测试:空 elements 列表 - [x] 2.6 添加测试:模板条件渲染后与自定义元素合并 - [x] 2.7 添加测试:变量未定义时的错误处理 - [x] 2.8 添加测试:内联模板与自定义元素混合使用 - [x] 2.9 添加测试:外部模板与自定义元素混合使用 ## 3. 集成测试 - [ ] 3.1 添加集成测试:完整的 YAML → PPTX 转换流程(混合模式) - [ ] 3.2 添加集成测试:验证 z 轴顺序(自定义元素覆盖模板元素) - [ ] 3.3 添加集成测试:背景设置与混合模式的交互 ## 4. E2E 测试 - [ ] 4.1 添加 E2E 测试:convert 命令处理混合模式 YAML - [ ] 4.2 添加 E2E 测试:preview 命令显示混合模式幻灯片 - [x] 4.3 创建测试用的混合模式 YAML 示例文件 ## 5. 文档更新 - [x] 5.1 更新 README.md:新增"混合模式模板"使用说明 - [x] 5.2 更新 README.md:添加混合模式语法示例 - [x] 5.3 更新 README.md:说明 z 轴顺序规则 - [x] 5.4 更新 README_DEV.md:说明元素合并策略 - [x] 5.5 更新 README_DEV.md:添加混合模式相关的开发说明 ## 6. 验证与清理 - [x] 6.1 运行所有单元测试并通过(`uv run pytest tests/unit/`) - [ ] 6.2 运行所有集成测试并通过(`uv run pytest tests/integration/`) - [ ] 6.3 运行所有 E2E 测试并通过(`uv run pytest tests/e2e/`) - [ ] 6.4 运行完整测试套件并通过(`uv run pytest`) - [x] 6.5 手动测试:使用现有 complex_presentation.yaml 验证向后兼容性 - [x] 6.6 手动测试:创建新的混合模式 YAML 并通过 convert 命令生成 PPTX