mirror of
https://github.com/panatgithub/AnkiHeadingSync.git
synced 2026-07-22 17:10:28 +00:00
2.9 KiB
2.9 KiB
Module 5 Gap Report
审查范围
本报告只审查与模块 5 直接相关的实现:
- deck 配置模型
- 设置页 deck UI
- 文件级 deck 解析
- 文件夹 deck 映射
- manual-sync 主链路中的最终 deck 解析
- warning 透传
- deck 模板插入能力
当前实现与模块 5 计划的主要差距
1. 配置模型缺字段
当前 PluginSettings 只保留了:
defaultDeck- 范围过滤配置
- 其他同步与字段映射配置
缺少模块 5 需要的:
fileDeckEnabledfileDeckMarkerfileDeckTemplatefileDeckInsertLocationfolderDeckMode
2. 设置页未实现“显式 deck 模式选择”
当前设置页只有 Default deck 文案增强,但没有:
- 文件级自定义牌组开关
- 识别名输入
- 默认模板输入
- 插入位置单选
- 向当前文件插入 deck 模板入口
- 文件夹映射三态选择与示例说明
- 最终优先级说明区块
3. 文件级 deck 解析仍然写死
当前 deck 提取实现仍然固定写死:
- YAML key 固定
targetDeck - 正文 marker 固定
TARGET DECK
这与模块 5 要求的“YAML key 与正文 marker 统一使用用户配置的 fileDeckMarker”不一致。
4. 文件级 deck 没有按开关启停
当前 deck 解析总是启用。 模块 5 要求:
fileDeckEnabled = false时不解析 YAMLfileDeckEnabled = false时不解析正文
5. 文件夹映射模式不完整
当前只有一种隐式文件夹映射,等价于“父文件夹映射”。 缺少:
offfolderfolder-and-file
同时当前非法路径片段处理是抛错硬失败,而模块 5 要求:
- 产出
deck_invalid_folder_segmentwarning - 放弃映射
- 回退到
defaultDeck
6. 没有 deck 模板插入能力
当前仓库不存在“向当前文件插入 deck 模板”的能力,也没有相关命令或设置页操作入口。
7. 同步链路已有 warning 透传,但未覆盖模块 5 的新模式行为
当前 warning 结果对象已存在,但:
- 还没有 fileDeck 开关影响解析的测试
- 还没有 marker 改名后的 YAML / 正文解析测试
- 还没有
folder-and-file模式测试 - 还没有 invalid folder segment 回退 default 的 warning 测试
- 还没有 deck 模板插入测试
兼容与边界判断
该报告反映的是模块 5 实现前的历史差距。
后续 deck-rule-migration 修复已经把产品语义更新为:普通同步会按最新 deck 规则迁移旧卡;只有 rebuildIndex 继续保持“不迁移 Anki deck”的边界。
本轮修复边界
本轮只补齐模块 5 明确要求:
- deck 模式配置
- deck 解析按配置启停
- 可配置 marker
- 文件夹映射三态
- deck 模板插入
- warning 继续沿 manual-sync 结果透传
- 与当前 old-card 行为兼容的回归测试
不扩展到:
- deck 迁移模块
- 模板 DSL 扩展
- 标题级 deck override
- 手工 folder -> deck 映射表