Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion docs/wiki/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ AppDelegate
- `DocumentLoading*.swift`: EPUB/DOCX archive handling, HTML generation, shared document helpers.
- `ProcessRunner.swift`: bounded external process execution for archive helpers and other command-line runtimes.
- `AIChatPanel*.swift`: AI chat UI, request lifecycle, bubble layout, selection handling.
- `AISettingsPanelController*.swift`: settings window, model configuration, AI analysis cache controls, and TTS runtime download controls.
- `AISettingsPanelController*.swift`: settings window, with focused builders for each page and separate speech selection/download extensions.
- `SpeechPlaybackCoordinator.swift`, `SpeechRuntimeResourceManager.swift`, and `RuntimeDownload.swift`: local TTS playback, runtime selection, compatibility, and model downloads.
- `SQLiteTransactionExecutor.swift`: shared checked transaction boundary used by SQLite-backed stores.
- `Resources/reader-web*.js`: focused WebKit reader modules for text, marks, search, TTS ranges, selection events, and bridge installation.
- `RecentDocuments*.swift` and `RecentBookCardView.swift`: bookshelf panel and recent document UI.
- `WordRecordSQLiteStore.swift` and related stores: persistent word and conversation data.

Expand All @@ -41,4 +43,5 @@ Large controllers are split by behavior into extensions or focused helper views.
- `mac-app/AIChatPanel.swift`
- `mac-app/SpeechPlaybackCoordinator.swift`
- `mac-app/SpeechRuntimeResourceManager.swift`
- `mac-app/SQLiteTransactionExecutor.swift`
- `mac-app/WordRecordSQLiteStore.swift`
16 changes: 8 additions & 8 deletions docs/wiki/code-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,17 @@ Generated by `./scripts/generate_code_wiki.sh`.

## Summary

- Code files: 422
- Main code lines: 56716
- Swift app lines: 46761
- Code files: 428
- Main code lines: 56992
- Swift app lines: 46957
- Full Swift type index: [Type Index](type-index.md)

## Largest Files

| File | Lines |
| --- | ---: |
| `tests/VocabularyLogicTests.swift` | 500 |
| `mac-app/Resources/reader-web.js` | 498 |
| `mac-app/PersonalVocabularyProfileStore.swift` | 491 |
| `mac-app/AISettingsPanelController+Build.swift` | 489 |
| `mac-app/AISettingsPanelController+Speech.swift` | 487 |
| `mac-app/PersonalVocabularyProfileStore.swift` | 479 |
| `mac-app/KokoroTTSBackend.swift` | 476 |
| `tests/SpeechRuntimeDownloadTests.swift` | 461 |
| `mac-app/ECDICTDictionary.swift` | 440 |
Expand All @@ -28,10 +25,13 @@ Generated by `./scripts/generate_code_wiki.sh`.
| `tests/ReaderCoreLogicTests.swift` | 407 |
| `mac-app/ReaderWindowController+Input.swift` | 400 |
| `tests/ReadingNoteMarkdownLogicTests.swift` | 390 |
| `mac-app/WordRecordSQLiteStore.swift` | 390 |
| `tests/SpeechRuntimeAvailabilityTests.swift` | 385 |
| `mac-app/DocumentLoading+EPUB.swift` | 385 |
| `mac-app/SelectionActionToolbar.swift` | 376 |
| `tests/AISettingsLogicTests.swift` | 373 |
| `scripts/build_app.sh` | 373 |
| `mac-app/ReadingNotesPanelController.swift` | 361 |
| `mac-app/AISettingsStore.swift` | 360 |

## Reader Window Modules

Expand Down
6 changes: 4 additions & 2 deletions docs/wiki/tts.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,10 @@ ReaderWindowController+ReadAloud
- `SpeechTextPolicy.swift`:TTS 文本归一化、英文候选判断和朗读分段。
- `SpeechRuntimeResourceManager.swift`:运行时安装检测、下载 URL、模型大小、兼容性、暂停/恢复/取消和清理。
- `RuntimeDownload.swift`:URLSession 下载、进度、断点数据和 HTTP 错误处理。
- `AISettingsPanelController+Speech.swift`:设置页里选择、下载、暂停、取消、删除和兼容性警告。
- `AISettingsPanelController+Build.swift`:朗读设置行、模型选择器、状态标签、按钮和进度条。
- `AISettingsPanelController+Speech.swift`:设置页里的运行时选择、语言策略、声音选择和试听。
- `AISettingsPanelController+SpeechDownloads.swift`:运行时状态、下载、暂停、取消、删除、兼容性警告和诊断。
- `AISettingsPanelController+BuildSpeech.swift`:朗读设置行、模型选择器、状态标签、按钮和进度条。
- `Resources/reader-web-tts.js`:WebKit 内容的朗读分段、批次推进和当前范围下划线。
- `ReaderWindowController+ReadAloud.swift`:PDF 和 WebKit 内容的文档级朗读入口。
- `ReaderWindowController+ReadAloudProgress.swift`:朗读时的当前段落下划线和高亮更新。
- `AIChatPanel+Actions.swift`:AI 文本发音,优先本地 TTS,必要时系统语音回退。
Expand Down
9 changes: 9 additions & 0 deletions docs/wiki/type-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@ Generated by `./scripts/generate_code_wiki.sh`.
| `mac-app/AISettingsPanelController+BuildEmbedding.swift` | 33 | `struct AISettingsEmbeddingConstraints {` |
| `mac-app/AISettingsPanelController+BuildEmbedding.swift` | 39 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+BuildEmbedding.swift` | 3 | `struct AISettingsEmbeddingSection {` |
| `mac-app/AISettingsPanelController+BuildGeneral.swift` | 26 | `struct AISettingsGeneralSection {` |
| `mac-app/AISettingsPanelController+BuildGeneral.swift` | 3 | `struct AISettingsPanelPalette {` |
| `mac-app/AISettingsPanelController+BuildGeneral.swift` | 51 | `struct AISettingsGeneralLayout {` |
| `mac-app/AISettingsPanelController+BuildGeneral.swift` | 59 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+BuildModel.swift` | 22 | `struct AISettingsModelLayout {` |
| `mac-app/AISettingsPanelController+BuildModel.swift` | 32 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+BuildModel.swift` | 3 | `struct AISettingsModelSection {` |
| `mac-app/AISettingsPanelController+BuildSpeech.swift` | 28 | `struct AISettingsSpeechSection {` |
| `mac-app/AISettingsPanelController+BuildSpeech.swift` | 3 | `struct SpeechRuntimeRowControls {` |
| `mac-app/AISettingsPanelController+BuildSpeech.swift` | 46 | `extension AISettingsPanelController {` |
Expand All @@ -65,6 +72,7 @@ Generated by `./scripts/generate_code_wiki.sh`.
| `mac-app/AISettingsPanelController+ModelEmbedding.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+Panel.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+Speech.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+SpeechDownloads.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+Theme.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController+UIFactory.swift` | 3 | `extension AISettingsPanelController {` |
| `mac-app/AISettingsPanelController.swift` | 3 | `final class AISettingsPanelController {` |
Expand Down Expand Up @@ -395,6 +403,7 @@ Generated by `./scripts/generate_code_wiki.sh`.
| `mac-app/RecentDocumentsStore.swift` | 3 | `struct RecentDocumentItem` |
| `mac-app/RequestAvailabilityPolicy.swift` | 3 | `enum RequestAvailabilityPolicy {` |
| `mac-app/SQLiteSchemaMigrator.swift` | 4 | `enum SQLiteSchemaMigrator {` |
| `mac-app/SQLiteTransactionExecutor.swift` | 3 | `struct SQLiteTransactionExecutor {` |
| `mac-app/SearchOverlayView.swift` | 3 | `final class SearchOverlayView` |
| `mac-app/SelectionActionToolbar.swift` | 306 | `final class SelectionActionButton` |
| `mac-app/SelectionActionToolbar.swift` | 3 | `final class SelectionActionToolbar` |
Expand Down
Loading
Loading