# 笔临 Wave 3 导出阅读 Implementation Plan > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. **Goal:** 交付 v1.4.0:导出矩阵(txt/md/docx/pdf)、连续阅读模式、驾驶舱补全、专注环境音。 **Architecture:** `ExportMatrixService` 扩展 `ExportService` 模式;docx 用 `docx` 库;pdf 用 Electron `printToPDF` + HTML 模板;`ReadModeOverlay` 虚拟 3 章 + scroll-snap;阅读偏好写入 `GlobalSettings`。 **Tech Stack:** Electron 36、docx、TypeScript、Vitest、Playwright **Spec:** `docs/superpowers/specs/2026-07-08-bilin-master-completion-design.md` §7 **Master Program:** Wave 3/5 → v1.4.0 --- ## File Map | 文件 | 职责 | |------|------| | `src/shared/export-matrix.ts` | ExportFormat/Scope/Options 类型 | | `src/main/services/export-matrix.service.ts` | txt/md/docx/pdf 导出 | | `src/main/export-matrix-bootstrap.ts` | 延迟加载 docx,注册 IPC | | `src/main/ipc/handlers/export-matrix.handler.ts` | EXPORT_MATRIX_* | | `src/renderer/components/read/ReadModeOverlay.tsx` | 连续阅读全屏 | | `src/renderer/stores/useReadModeStore.ts` | 阅读模式状态 | | `src/renderer/components/export/ExportModal.tsx` | 导出矩阵 UI | | `src/renderer/components/cockpit/CockpitModal.tsx` | 今日大纲任务 | | `src/renderer/components/focus/FocusModeOverlay.tsx` | 环境音效 | | `e2e/read-mode.spec.ts` | E2E-READ-01~03 | | `e2e/export-matrix.spec.ts` | E2E-PDF-01 等 | --- ## Task 1: 类型 + 阅读偏好 **Files:** - Create: `src/shared/export-matrix.ts` - Modify: `src/shared/types.ts` — `readModeFontTheme`、`readModeDeviceWidth`、`enableFocusAmbientSound` - [x] **Step 1:** export-matrix 类型定义 - [x] **Step 2:** GlobalSettings 阅读/专注字段 - [x] **Step 3:** settings store 默认值 --- ## Task 2: 连续阅读模式 **Files:** - Create: `src/renderer/stores/useReadModeStore.ts` - Create: `src/renderer/components/read/ReadModeOverlay.tsx` - Modify: `EditorLayout.tsx`、`VolumeContextMenu.tsx`、`App.tsx`、`layout.css` - [x] **Step 1:** ReadModeOverlay 全屏 + 虚拟 3 章 + scroll-snap - [x] **Step 2:** 设备宽度 / 字体主题切换与持久化 - [x] **Step 3:** 章节侧栏 + 分卷右键入口 - [x] **Step 4:** i18n `readMode.*` --- ## Task 3: ExportMatrixService txt/md **Files:** - Create: `src/main/services/export-matrix.service.ts` - Create: `src/main/ipc/handlers/export-matrix.handler.ts` - [x] **Step 1:** 章/卷/全书范围解析 - [x] **Step 2:** txt/md 导出 + 选项(批注/AI 标注) - [x] **Step 3:** UT 章级 txt 导出 --- ## Task 4: docx 导出 **Files:** - Modify: `package.json` — `docx` - Modify: `export-matrix.service.ts` - [x] **Step 1:** docx 目录与章节结构 - [x] **Step 2:** IT-DOCX-01 含目录 --- ## Task 5: pdf 导出 **Files:** - Modify: `export-matrix.service.ts` - [x] **Step 1:** HTML 模板 + printToPDF - [x] **Step 2:** A4 页眉页脚 - [x] **Step 3:** E2E mock 路径 BILIN_E2E_PDF_SAVE --- ## Task 6: ExportModal 矩阵 UI **Files:** - Modify: `ExportModal.tsx`、`preload`、`ipc-channels` - [x] **Step 1:** 格式/范围/选项选择 - [x] **Step 2:** 保存对话框与 toast --- ## Task 7: 驾驶舱 + 专注环境音 **Files:** - Modify: `CockpitModal.tsx` - Modify: `FocusModeOverlay.tsx`、`SettingsPage.tsx` - [x] **Step 1:** 今日大纲任务 Top 5(pending + expectedWordCount) - [x] **Step 2:** 专注模式环境音开关与播放 --- ## Task 8: E2E + v1.4.0 **Files:** - Create: `e2e/read-mode.spec.ts`、`e2e/export-matrix.spec.ts` - Modify: `package.json`、`README.md`、`SettingsPage.tsx` - [x] **Step 1:** E2E-READ-01~03 - [x] **Step 2:** E2E-PDF-01 - [x] **Step 3:** 全量 test + 相关 E2E - [x] **Step 4:** 版本 **v1.4.0** - [x] **Step 5:** 勾选本 plan 全部 checkbox --- ## Plan 自检 | Spec §7 要求 | Task | |-------------|------| | ExportMatrix 四格式 | Task 3–6 | | ReadModeOverlay | Task 2 | | 驾驶舱大纲任务 | Task 7 | | E2E-READ / E2E-PDF | Task 8 |