docs: comprehensive improvement roadmap — 8 tracks, 50+ items
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:
@@ -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 修复数。从现在开始积累。**
|
||||
Reference in New Issue
Block a user