# 移除图片适配模式功能 - 任务清单 ## 1. 删除工具和验证器模块 - [x] 1.1 删除 `utils/image_utils.py` 文件 - [x] 1.2 删除 `validators/image_config.py` 文件 - [x] 1.3 更新 `validators/validator.py`,移除对 image_config 的引用 ## 2. 修改核心元素定义 - [x] 2.1 更新 `core/elements.py` 的 ImageElement 类,移除 fit 字段 - [x] 2.2 更新 `core/elements.py` 的 ImageElement 类,移除 background 字段 - [x] 2.3 简化 `core/elements.py` 的 ImageElement.validate() 方法,移除 fit/background 验证逻辑 ## 3. 修改演示文稿类 - [x] 3.1 更新 `core/presentation.py` 的 Presentation 类,移除 self.dpi = metadata.get("dpi", 96) ## 4. 修改 PPTX 渲染器 - [x] 4.1 更新 `renderers/pptx_renderer.py`,移除 `from PIL import Image` 导入 - [x] 4.2 更新 `renderers/pptx_renderer.py`,移除 `from utils.image_utils import ...` 导入 - [x] 4.3 更新 `renderers/pptx_renderer.py` 的 PptxGenerator.__init__(),移除 dpi 参数 - [x] 4.4 重写 `renderers/pptx_renderer.py` 的 _render_image() 方法,恢复简单实现 ## 5. 修改 HTML 渲染器 - [x] 5.1 更新 `renderers/html_renderer.py` 的 HtmlRenderer.__init__(),移除 dpi 参数,硬编码 self.dpi = 96 - [x] 5.2 简化 `renderers/html_renderer.py` 的 render_image() 方法,移除 fit 模式映射逻辑 - [x] 5.3 简化 `renderers/html_renderer.py` 的 render_image() 方法,移除 background 容器逻辑 ## 6. 修改入口文件 - [x] 6.1 更新 `yaml2pptx.py`,移除传递 dpi 参数到 PptxGenerator - [x] 6.2 更新 `preview/server.py`,移除传递 dpi 参数到 HtmlRenderer ## 7. 删除测试文件 - [x] 7.1 删除 `tests/unit/test_image_utils.py` - [x] 7.2 删除 `tests/unit/test_validators/test_image_config.py` - [x] 7.3 删除 `tests/integration/test_image_fit_modes.py` - [x] 7.4 检查并更新 `tests/fixtures/create_test_images.py`(如果有其他依赖则保留,否则删除) - [x] 7.5 检查并更新 `tests/integration/test_rendering_flow.py`,移除相关测试 ## 8. 删除规格文件 - [x] 8.1 删除 `openspec/specs/image-fit-modes/` 整个目录 ## 9. 更新主规格文件 - [x] 9.1 更新 `openspec/specs/element-rendering/spec.md`,移除 fit 和 background 相关规格 - [x] 9.2 更新 `openspec/specs/html-rendering/spec.md`,移除 fit 和 background 相关规格 ## 10. 更新用户文档 - [x] 10.1 更新 `README.md`,移除图片适配模式章节 - [x] 10.2 更新 `README.md`,移除 metadata.dpi 配置说明 - [x] 10.3 更新 `README_DEV.md`,移除图片处理架构说明 - [x] 10.4 更新 `README_DEV.md`,移除 Pillow 依赖说明(改为保留用于备用) ## 11. 验证和测试 - [x] 11.1 运行 `uv run pytest`,确保所有测试通过 - [x] 11.2 使用 Grep 搜索代码库,确认没有遗留的 image_utils 或 image_config 引用 - [x] 11.3 使用 Grep 搜索代码库,确认没有遗留的 fit 或 background 参数引用(在图片元素上下文中) - [x] 11.4 运行 `uv run python yaml2pptx.py` 测试基本转换功能 - [x] 11.5 运行 `uv run python preview/server.py` 测试预览功能