Files
bilin/docs/superpowers/plans/2026-07-08-bilin-w3-export-read.md
T
bing c5c0b7329b feat(w3): ship v1.4.0 export matrix, cockpit tasks, and focus ambient
Add ExportMatrixService for txt/md/docx/pdf, extend ExportModal, cockpit outline tasks, focus ambient sound, and E2E-PDF-01 with 134 passing unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-08 16:56:53 +08:00

4.1 KiB
Raw Blame History

笔临 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.tsreadModeFontThemereadModeDeviceWidthenableFocusAmbientSound

  • Step 1: export-matrix 类型定义

  • Step 2: GlobalSettings 阅读/专注字段

  • Step 3: settings store 默认值


Task 2: 连续阅读模式

Files:

  • Create: src/renderer/stores/useReadModeStore.ts

  • Create: src/renderer/components/read/ReadModeOverlay.tsx

  • Modify: EditorLayout.tsxVolumeContextMenu.tsxApp.tsxlayout.css

  • Step 1: ReadModeOverlay 全屏 + 虚拟 3 章 + scroll-snap

  • Step 2: 设备宽度 / 字体主题切换与持久化

  • Step 3: 章节侧栏 + 分卷右键入口

  • 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

  • Step 1: 章/卷/全书范围解析

  • Step 2: txt/md 导出 + 选项(批注/AI 标注)

  • Step 3: UT 章级 txt 导出


Task 4: docx 导出

Files:

  • Modify: package.jsondocx

  • Modify: export-matrix.service.ts

  • Step 1: docx 目录与章节结构

  • Step 2: IT-DOCX-01 含目录


Task 5: pdf 导出

Files:

  • Modify: export-matrix.service.ts

  • Step 1: HTML 模板 + printToPDF

  • Step 2: A4 页眉页脚

  • Step 3: E2E mock 路径 BILIN_E2E_PDF_SAVE


Task 6: ExportModal 矩阵 UI

Files:

  • Modify: ExportModal.tsxpreloadipc-channels

  • Step 1: 格式/范围/选项选择

  • Step 2: 保存对话框与 toast


Task 7: 驾驶舱 + 专注环境音

Files:

  • Modify: CockpitModal.tsx

  • Modify: FocusModeOverlay.tsxSettingsPage.tsx

  • Step 1: 今日大纲任务 Top 5pending + expectedWordCount

  • Step 2: 专注模式环境音开关与播放


Task 8: E2E + v1.4.0

Files:

  • Create: e2e/read-mode.spec.tse2e/export-matrix.spec.ts

  • Modify: package.jsonREADME.mdSettingsPage.tsx

  • Step 1: E2E-READ-01~03

  • Step 2: E2E-PDF-01

  • Step 3: 全量 test + 相关 E2E

  • Step 4: 版本 v1.4.0

  • Step 5: 勾选本 plan 全部 checkbox


Plan 自检

Spec §7 要求 Task
ExportMatrix 四格式 Task 36
ReadModeOverlay Task 2
驾驶舱大纲任务 Task 7
E2E-READ / E2E-PDF Task 8