docs: comprehensive improvement roadmap — 8 tracks, 50+ items
CI / Build & Test (push) Failing after 40s
CI / Release Build (push) Failing after 39s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled

M1 Robustness · M2 Testing · M3 Performance · M4 Formats
M5 Cross-platform · M6 Software engineering · M7 Ecosystem · M8 Commercialization

Priority:
v1.1: Real STEP models, CI/CD, Valgrind, boolean edge cases
v1.2: STEP recovery, ThreadSanitizer, coverage, examples
v1.3+: Performance, Windows/macOS, binary formats, ecosystem
This commit is contained in:
茂之钳
2026-07-27 18:28:08 +08:00
parent 6150fea558
commit 5dd102f284
+201
View File
@@ -0,0 +1,201 @@
# ViewDesignEngine 改进路线图
> 编制: 2026-07-27 · v1.0.0 发布后
---
## 一、总览
```
当前状态: v1.0.0 · 功能完整 · 编译0错误 · 待真实场景验证
八大改进方向:
M1 鲁棒性 · M2 测试体系 · M3 性能优化
M4 格式完善 · M5 跨平台 · M6 软件工程
M7 生态建设 · M8 商业化准备
```
---
## 二、M1 — 鲁棒性(用户遇到的第一件事)
### 为什么最重要
> 功能再多,用户导入一个 STEP 就崩溃,等于零。
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 1.1 | **布尔退化处理** | 切触/共面可能失败 | 100%正确处理 | 大 |
| 1.2 | **破损STEP恢复** | 基础跳过损坏实体 | 尽力恢复+诊断报告 | 中 |
| 1.3 | **非标STEP实体** | 仅映射4种 | 覆盖STEP AP214全部实体 | 大 |
| 1.4 | **容错建模完善** | 基础间隙桥接 | 真实工业模型验证 | 大 |
| 1.5 | **崩溃保护** | 无 | try-catch + 错误恢复 + 部分结果返回 | 中 |
| 1.6 | **内存耗尽保护** | OOM崩溃 | 限制+降级+诊断 | 中 |
| 1.7 | **数值溢出保护** | 无 | 极大/极小坐标保护 | 小 |
### 验证方法
```
收集100+个真实STEP模型 → 导入 → 布尔 → 导出 → 往返验证
目标: 崩溃率 < 1%,错误恢复率 > 90%
```
---
## 三、M2 — 测试体系(30年差距的核心)
### 差距
| 指标 | Parasolid | VDE |
|------|-----------|-----|
| 测试数量 | ~50,000 | ~1,500 |
| 模糊测试 | 24/7集群运行 | 框架有,实际未跑 |
| 真实模型库 | 数十万个 | 0 |
| CI/CD | 每次提交全量 | 配置有,实际未跑 |
| 内存检测 | 每次构建 | 从未运行 |
| 线程安全 | TSan验证 | 从未运行 |
| 静态分析 | Coverity | clang-tidy配了未跑 |
### 改进项
| # | 项目 | 工作量 |
|---|------|--------|
| 2.1 | **收集真实测试模型**STEP/IGES/XT/SAT各100+ | 中 |
| 2.2 | **CI/CD实际运行**GitHub Actions / Gitea Actions | 小 |
| 2.3 | **模糊测试持续运行**7×24小时) | 中 |
| 2.4 | **Valgrind内存泄漏检测**(全量测试套件) | 中 |
| 2.5 | **ThreadSanitizer线程安全检测** | 中 |
| 2.6 | **AddressSanitizer缓冲区检测** | 小 |
| 2.7 | **codecov测试覆盖率报告** | 小 |
| 2.8 | **性能回归检测**(每个commit对比基线) | 中 |
---
## 四、M3 — 性能优化
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 3.1 | **布尔运算性能** | SSI未充分并行 | 4核加速比>3x | 中 |
| 3.2 | **MC性能** | 基础并行 | SIMD+缓存优化 | 中 |
| 3.3 | **STEP解析性能** | 文本逐行解析 | 预编译+缓存 | 中 |
| 3.4 | **Profile-guided优化** | 无 | 热路径识别+优化 | 大 |
| 3.5 | **大模型支持** | 内存未优化 | 千万面级别 | 大 |
| 3.6 | **增量更新加速** | 基础 | 智能缓存+并行 | 中 |
---
## 五、M4 — 格式完善
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 4.1 | **XT二进制完善** | 基础实体 | 全部实体类型 | 大 |
| 4.2 | **SAT二进制完善** | 基础 | 完整SAB格式 | 大 |
| 4.3 | **JT完善** | 基础B-Rep段 | 完整LOD+PMI | 大 |
| 4.4 | **IFC扩展** | 基础实体 | IfcWall/Slab/Beam/Column/Window/Door | 中 |
| 4.5 | **STEP AP242 ED2** | 基础PMI | 完整PMI往返 | 中 |
| 4.6 | **DWG读取** | 无 | 基础2D DWG | 大 |
| 4.7 | **SVG/PDF矢量导出** | 无 | 工程图导出 | 小 |
---
## 六、M5 — 跨平台
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 5.1 | **Windows编译验证** | 未验证 | MSVC 2022 + vcpkg | 中 |
| 5.2 | **macOS编译验证** | 未验证 | Clang 16 + Homebrew | 小 |
| 5.3 | **ARM64支持** | 未验证 | aarch64编译+测试 | 小 |
| 5.4 | **包管理集成** | 无 | conan/vcpkg/apt/brew | 中 |
---
## 七、M6 — 软件工程
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 6.1 | **clang-tidy全量修复** | 配置有未跑 | 0警告 | 大 |
| 6.2 | **clang-format统一风格** | 配置有未强制 | CI强制检查 | 小 |
| 6.3 | **Doxygen全量生成** | HTML已有 | 部署到文档站 | 小 |
| 6.4 | **API稳定性承诺** | 无 | 声明稳定/实验API | 小 |
| 6.5 | **废弃API策略** | 无 | deprecated标记+迁移指南 | 小 |
| 6.6 | **错误码统一** | 各模块不一致 | 统一ErrorCode体系 | 中 |
| 6.7 | **日志系统** | printf | 结构化日志(spdlog) | 小 |
---
## 八、M7 — 生态建设
### 改进项
| # | 项目 | 当前 | 目标 | 工作量 |
|---|------|------|------|--------|
| 7.1 | **FreeCAD集成** | 无 | VDE作为可选后端 | 大 |
| 7.2 | **Blender插件** | 已删除 | 独立仓库重新发布 | 中 |
| 7.3 | **示例程序扩展** | 11个示例 | 每个模块至少1个示例 | 中 |
| 7.4 | **视频教程** | 无 | 快速上手+API使用 | 中 |
| 7.5 | **在线Playground** | 无 | WebAssembly在线试用 | 大 |
| 7.6 | **用户论坛/讨论区** | 无 | GitHub Discussions | 小 |
| 7.7 | **贡献者指南完善** | 基础 | good first issue标注 | 小 |
---
## 九、M8 — 商业化准备
### 改进项
| # | 项目 | 说明 | 工作量 |
|---|------|------|--------|
| 8.1 | **商业授权模式设计** | 开源版 vs 商业版边界 | 中 |
| 8.2 | **SLA技术支持方案** | 响应时间、支持渠道 | 小 |
| 8.3 | **性能对比白皮书** | VDE vs OCCT/Parasolid基准 | 中 |
| 8.4 | **合规审查** | 第三方依赖许可证审计 | 小 |
| 8.5 | **商标注册** | ViewDesignEngine名称保护 | 小 |
| 8.6 | **成功案例** | 至少3个真实项目案例 | 大 |
---
## 十、优先级排序
### 紧急(v1.1
```
1. 真实STEP模型库 + 崩溃修复
2. CI/CD实际运行
3. Valgrind内存检测
4. 布尔退化处理
```
### 重要(v1.2
```
5. 破损STEP恢复增强
6. ThreadSanitizer线程安全
7. 代码覆盖率报告
8. 示例程序扩展
```
### 计划(v1.3+
```
9. 性能优化
10. Windows/macOS验证
11. 格式二进制完善
12. 生态建设
```
---
## 十一、一句话
> **v1.0.0 证明了"我们能做",下一步是证明"我们可靠"。
> 35 年的差距不在代码行数,在 bug 修复数。从现在开始积累。**