@@ -69,19 +69,17 @@ Layer 3 ─ dsfw-ui-core AppShell, IconNavBar, Theme, FramelessHelper,
6969Layer 2 ─ dstools-audio AudioDecoder (FFmpeg), AudioPlayback (SDL2)
7070Layer 1 ─ dsfw-core AppSettings, ServiceLocator, AsyncTask, 接口集
7171 PipelineContext, PipelineRunner, ITaskProcessor
72- 含 infer-common 源文件 (OnnxEnv, OnnxModelBase)
73- Layer 0.5─ dsfw-base JsonHelper (Qt-free 静态库)
72+ JsonHelper, 含 infer-common 源文件 (OnnxEnv, OnnxModelBase)
7473Layer 0 ─ dsfw-types Result<T>, ExecutionProvider, TimePos (header-only)
7574
7675此外层:
7776dsfw-signal curve_tools, music_math, time_series (dsfw::signal 命名空间)
78- dstools-widgets INTERFACE header-only 层
7977```
8078
8179### 依赖关系
8280
8381```
84- dsfw-widgets ─PUBLIC──→ dsfw-core ───→ dsfw-base ───→ dsfw- types
82+ dsfw-widgets ─PUBLIC──→ dsfw-core ───→ dsfw-types
8583 │ ↑
8684 ├─PRIVATE→ dsfw-ui-core ┘
8785 └─PRIVATE→ dstools-audio
@@ -115,11 +113,6 @@ dstools-ui-core → dsfw-ui-core + dsfw-core + dstools-domain
115113 │ │ │ │ │ │
116114 ▼ ▼ ▼ ▼ ▼ ▼
117115┌──────────────────────────────────────────────────────────────────────────┐
118- │ dstools-widgets (INTERFACE) │
119- │ GpuSelector · ShortcutManager · 领域 UI 导出宏转发 │
120- └────────────────────────────┬─────────────────────────────────────────────┘
121- │ PUBLIC
122- ┌────────────────────────────┴─────────────────────────────────────────────┐
123116│ dsfw-widgets (SHARED DLL) │
124117│ PlayWidget · FileProgressTracker · ProgressDialog · PropertyEditor │
125118│ SettingsDialog · LogViewer · RunProgressRow · PathSelector · ... │
@@ -164,13 +157,6 @@ dstools-ui-core → dsfw-ui-core + dsfw-core + dstools-domain
164157└───────┬───────────┘ │
165158 │ PUBLIC │
166159┌───────┴───────────┐ │
167- │ dsfw-base │ │
168- │ (STATIC, Qt-free)│ │
169- │ │ │
170- │ JsonHelper │ │
171- └───────┬───────────┘ │
172- │ PUBLIC │
173- ┌───────┴───────────┐ │
174160│ dsfw-signal │ │
175161│ (STATIC) │ │
176162│ │ │
@@ -244,19 +230,13 @@ dstools-ui-core → dsfw-ui-core + dsfw-core + dstools-domain
244230
245231## 6. 共享库
246232
247- ### dsfw-base (静态库, Qt-free)
248-
249- JSON 工具 (JsonHelper,纯 nlohmann/json 封装)。无 Qt 依赖,可用于 CLI 工具。
250-
251- 依赖:nlohmann_json
252-
253233### dsfw-core (静态库)
254234
255235通用框架核心。类型安全配置 (AppSettings)、服务定位器 (ServiceLocator)、异步任务 (AsyncTask)、结构化日志 (Logger)
256- 、编码统一接口 (TextEncoding)、文档/文件/导出/G2P 抽象接口 (IDocument, IG2PProvider, IExportFormat 等)
236+ 、编码统一接口 (TextEncoding)、JSON 工具 (JsonHelper)、 文档/文件/导出/G2P 抽象接口 (IDocument, IG2PProvider, IExportFormat 等)
257237、后端服务接口 (IAlignmentService, IAsrService, IPitchService, ITranscriptionService)。
258238
259- 依赖:dsfw-base, dstools-types, Qt Core/Network, nlohmann_json
239+ 依赖:dstools-types, Qt Core/Network, nlohmann_json
260240
261241### dsfw-ui-core (静态库)
262242
@@ -284,12 +264,6 @@ AudioDecoder (FFmpeg)、AudioPlayback (SDL2)、AudioPlayer、WaveFormat。
284264
285265依赖:dsfw-core (PUBLIC), dsfw-ui-core + dstools-audio (PRIVATE)
286266
287- ### dstools-widgets (INTERFACE header-only)
288-
289- DiffSinger 领域 UI 组件。所有应用的公共 UI 基础设施(通过 dsfw-widgets 导出宏转发)。
290-
291- 依赖:dsfw-widgets (PUBLIC)
292-
293267### 推理库
294268
295269| 库 | 类型 | 功能 | 特有依赖 |
@@ -447,8 +421,6 @@ dataset-tools/
447421│ ├── types/ # dstools-types (HEADER-ONLY)
448422│ │ └── include/dstools/ # Result<T>, ExecutionProvider, TimePos
449423│ ├── framework/
450- │ │ ├── base/ # dsfw-base (STATIC, Qt-free)
451- │ │ │ └── include/dsfw/ # JsonHelper
452424│ │ ├── core/ # dsfw-core (STATIC)
453425│ │ │ ├── include/dsfw/ # AppSettings, ServiceLocator, Logger, ...
454426│ │ │ └── src/
@@ -462,7 +434,7 @@ dataset-tools/
462434│ ├── domain/ # dstools-domain (STATIC)
463435│ │ ├── include/dstools/ # DsDocument, DsProject, CsvToDsConverter, ...
464436│ │ └── src/
465- │ ├── ui-core/ # dstools-widgets (INTERFACE, header-only )
437+ │ ├── ui-core/ # dstools-ui-core (STATIC, 包装 dsfw-ui-core + dsfw-core + dstools-domain )
466438│ ├── libs/
467439│ │ ├── textgrid/ # header-only
468440│ │ ├── hubert-fa/ # HuBERT 强制对齐处理器
@@ -510,9 +482,9 @@ dataset-tools/
510482```
511483~42 CMake targets (excluding tests):
512484
513- Framework (6 ): dsfw-base → dsfw-signal → dsfw-core → dsfw-ui-core → dsfw-widgets + dstools-audio (infer-common 源文件编译入 dsfw-core)
485+ Framework (5 ): dsfw-signal → dsfw-core → dsfw-ui-core → dsfw-widgets + dstools-audio (infer-common 源文件编译入 dsfw-core)
514486Domain (1): dstools-domain
515- App-Lib (2 ): dstools-ui-core, dstools-widgets (INTERFACE, header-only)
487+ App-Lib (1 ): dstools-ui-core
516488Infer (6): audio-util, FunAsr, game-infer, hubert-infer, rmvpe-infer, moe-infer
517489Libs (8): slicer-lib, lyricfa-lib, hubertfa-lib, gameinfer-lib, rmvpepitch-lib, minlabel-lib, moelib, infer-bridge
518490App-Shared (9): data-sources, audio-visualizer, phoneme-editor, pitch-editor, min-label-editor, settings, log-page, model-init, mouth-curve-chart
0 commit comments