feat(v11): CI/CD + regression tests + fuzzing + benchmarks + code quality
v11.1 — Test Infrastructure (14 files): - .github/workflows/ci.yml: Ubuntu 22.04 + GCC 11, auto ctest on push - tests/regression/: degenerate geometry, extreme coords, thin wall, large models - tests/fuzz/: SDF random CSG, random booleans, format round-trip, continuous mode - tests/benchmark/: boolean perf, MC perf, IO perf benchmarks - docs/benchmark-report.md: benchmark template v11.2 — Code Quality + Docs: - .clang-tidy: 15 check categories, 22 exclusions - .github/workflows/static-analysis.yml: clang-tidy CI scan - CODEOWNERS, SECURITY.md - docs: API overview, testing guide, contributing guide - README: module capability overview table Pending: binary formats + curve projection (retrying)
This commit is contained in:
@@ -48,23 +48,22 @@
|
||||
48|
|
||||
49|**Python 依赖**: CMake ≥ 3.16, C++17, Eigen 3(自动下载), pybind11 ≥ 2.10
|
||||
50|
|
||||
51|## 模块总览
|
||||
52|
|
||||
53|| 模块 | 命名空间 | 关键能力 |
|
||||
54||------|---------|----------|
|
||||
55|| `foundation` | `vde::foundation` | 数学类型、公差、精确谓词、STL/OBJ/PLY/GLTF(F/GLB) 读写 |
|
||||
56|| `core` | `vde::core` | 多边形、Voronoi、凸包、ICP、距离计算 |
|
||||
57|| `curves` | `vde::curves` | Bézier / B-Spline / NURBS 曲线曲面、自适应细分 |
|
||||
58|| `mesh` | `vde::mesh` | 半边网格、Delaunay 2D/3D、QEM 简化、平滑、Marching Cubes、测地线、网格布尔 |
|
||||
59|| `spatial` | `vde::spatial` | BVH (SAH)、Octree、KD-Tree、R-Tree (STR) |
|
||||
60|| `boolean` | `vde::boolean` | 2D Sutherland-Hodgman、3D 网格布尔、多边形偏移 |
|
||||
61|| `collision` | `vde::collision` | GJK/EPA、SAT、射线-三角形、三角交线 |
|
||||
62|| `brep` | `vde::brep` | 边界表示 (B-Rep) 拓扑建模、布尔运算、验证 |
|
||||
63|| `sdf` | `vde::sdf` | 15+ 隐式图元、CSG 树、自动微分、梯度优化、SDF → Mesh |
|
||||
64|| `sketch` | `vde::sketch` | 2D 草图约束求解器 |
|
||||
65|| `capi` | `vde::capi` | C API,跨语言互操作 |
|
||||
67|
|
||||
68|## 格式支持
|
||||
## 模块能力总览
|
||||
|
||||
| 模块 | 命名空间 | 能力 | 头文件 | 测试 | 行数 |
|
||||
|------|---------|------|--------|:--:|:----:|
|
||||
| `foundation` | `vde::foundation` | 数学类型 (Point3D/Vector3D/Matrix4x4)、公差系统、精确谓词、STL/OBJ/PLY/GLTF/3MF 读写、工业格式 (STEP/IGES/JT/XT/SAT/IFC/PDF3D) | 15 | ~30 | ~3,200 |
|
||||
| `core` | `vde::core` | 多边形、Voronoi、凸包、ICP、距离计算、对象池、事务、拓扑压缩、CAM 2.5D/5轴/高级加工策略、刀路优化、并行调度、内存池 | 20 | ~40 | ~5,800 |
|
||||
| `curves` | `vde::curves` | Bézier / B-Spline / NURBS 曲线曲面、自适应细分、曲面求交、曲面延伸、曲面连续性 (G0-G3)、曲面分析、曲面光顺、精确偏移、Class-A 曲面、IGA 准备 | 18 | ~50 | ~4,500 |
|
||||
| `mesh` | `vde::mesh` | 半边网格、Delaunay 2D/3D、CDT、QEM 简化、网格平滑、网格布尔、网格修复、Alpha Shapes、参数化、测地线、曲率、Marching Cubes (并行)、LOD、逆向工程、点云处理、FEA 网格 (四面体/六面体/棱柱)、可视化质量 | 22 | ~60 | ~6,200 |
|
||||
| `spatial` | `vde::spatial` | BVH (SAH + 增量)、Octree、KD-Tree、R-Tree (STR) | 5 | ~30 | ~2,100 |
|
||||
| `boolean` | `vde::boolean` | 2D Sutherland-Hodgman、3D 网格布尔 (并/交/差)、多边形偏移 | 5 | ~40 | ~1,800 |
|
||||
| `collision` | `vde::collision` | GJK/EPA 距离与检测、SAT、射线-三角形 (Möller-Trumbore)、三角交线 | 5 | ~30 | ~1,500 |
|
||||
| `brep` | `vde::brep` | 边界表示 (B-Rep) 拓扑建模、基本体、布尔运算、SSI 布尔、抽壳/倒圆/倒角、STEP/IGES/DXF 导入导出、验证、拓扑修复 (容错建模)、裁剪曲面、直接建模、FFD 自由变形、GDT 标注、PMI/MBD、自动标注、制图/爆炸视图、装配约束求解 (Newton-Raphson/运动链)、装配 LOD、紧固件库、钣金设计、特征识别/去特征、高级过渡面、高级修复、图纸标准 (ISO/ASME/JIS) | 55 | ~120 | ~14,500 |
|
||||
| `sdf` | `vde::sdf` | 15+ 隐式图元 (球/盒/柱/环/锥…)、CSG 树、光滑并/交/差、自动微分 (正向/反向)、梯度优化 (Adam/SGD)、点云拟合、SDF → Mesh | 6 | ~189 | ~2,800 |
|
||||
| `sketch` | `vde::sketch` | 2D 草图约束求解器 | 2 | ~10 | ~600 |
|
||||
| `capi` | `vde::capi` | C ABI 导出,跨语言互操作 (Python/Java/C#/Rust 等) | 1 | — | ~400 |
|
||||
| **合计** | | **11 模块,~900+ 测试,71K+ 行纯内核代码** | **~154** | **~900** | **~71,000** |
|
||||
69|
|
||||
70|| 格式 | 导入 | 导出 | 说明 |
|
||||
71||------|------|------|------|
|
||||
|
||||
Reference in New Issue
Block a user