From 5dd102f28429d2d9ecfd633114184dc3cd7a532a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=82=E4=B9=8B=E9=92=B3?= Date: Mon, 27 Jul 2026 18:28:08 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20comprehensive=20improvement=20roadmap?= =?UTF-8?q?=20=E2=80=94=208=20tracks,=2050+=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/reference/改进路线图.md | 201 +++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 docs/reference/改进路线图.md diff --git a/docs/reference/改进路线图.md b/docs/reference/改进路线图.md new file mode 100644 index 0000000..ed31480 --- /dev/null +++ b/docs/reference/改进路线图.md @@ -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 修复数。从现在开始积累。**