Files
ViewDesignEngine/CHANGELOG.md
T

127 lines
5.8 KiB
Markdown
Raw Normal View History

# 更新日志
## [3.0.0] — 2026-07-24
### 全线测试通过(476+ / 476+
#### S13 — IGES 导入/导出
- 导入:22 种实体类型(弧、线、B-Spline、圆环、球面等)→ B-Rep
- 导出:B-Rep → 80 列卡片式文件
#### S12 — 可微分几何
- 自动微分引擎 + 梯度驱动优化 + Torch 桥 + Python API
#### S11 — SDF 隐式建模
- 15+ 图元 + CSG 树 + SDF→Mesh + Python bindings
#### 全线 bugfix41→0
- SDF NaN/边界 + 操作符号 + B-Rep 顶点ID + Parser + 布尔 ON-边界分类
#### Phase A — GLTF/GLB + 管线示例
## [2.0.0] — 2026-07-24
### Sprint 10 — B-Rep 完善 + STEP 导入导出 + 工程健壮性
- **B-Rep 建模补齐**:fillet(恒定半径滚动球倒圆)、chamfer(等距倒角)、shell(抽壳,含侧壁连接面)完整实现
- **STEP 导入** (`import_step`)ISO 10303-21 解析器,支持 AP203/AP214 标准几何与拓扑实体
- **STEP 导出** (`export_step`)BrepModel → STEP AP214 字符串/文件,含曲线/曲面类型自动检测
- **B-Rep 布尔运算**brep_union / brep_intersection / brep_difference,基于面面求交 + 内/外分类 + 缝合
- **B-Rep 验证** (`validate`):水密性、悬边、自相交、方向一致性、欧拉示性数检查
- **测试**:新增 5 个测试文件(fillet/chamfer/shell、STEP 导入/导出、B-Rep 布尔、B-Rep 验证),共 47 项测试
## [1.0.0] — 2026-07-24
### 首个稳定版本
所有 9 个 Sprint 完成,全部模块实现并通过测试。
**指标**: 7,800+ 行源码,2,300+ 行头文件,143 测试 100% 通过
#### M3 性能基准(本轮完成)
- BVH/Delaunay/Curves/Spatial/Boolean 5 套 benchmark 全部通过
- 性能报告: `docs/benchmark-report.md`
#### M3 修复(本轮完成)
- **Delaunay3D**: circumcenter Eigen QR 求解,空外接球验证
- **B-Rep**: is_valid ID 查找,add_surface/add_edge 返回下标
- **BooleanMesh**: ray-tri 交点容差 + 面上偏移
## [0.9.0] — 2026-07-23
### M3 里程碑起步 — 性能基准测试套件
- **新增 `bench/` 目录**Google Benchmark 驱动的性能基准测试套件
- **bench_bvh**N=1K/10K/100K 随机三角形 SAH 构建 + 1K 射线最近命中查询
- **bench_delaunay**N=100/1K/10K 随机点 2D Bowyer-Watson 三角剖分
- **bench_boolean**:两个球体 (N=100/500 面) 3D union/intersection 运算
- **bench_curves**N=10K/100K 次 Bezier/BSpline evaluate 吞吐量
- **bench_spatial**N=1K/10K/100K 点 R-Tree STR 构建 + KD-Tree 构建;kNN(n=10) 查询
- **构建集成**`BUILD_BENCHMARKS` 选项 (默认 OFF)Google Benchmark 通过 FetchContent 自动下载
- **CTest 集成**`ctest -R bench_` 一键运行全部基准
### Sprint 9 — 3D Delaunay/B-Rep/Boolean 测试补全
- **测试新增**test_delaunay_3d6 个用例)、test_boolean_mesh22 个用例)、test_brep17 个用例)
- **3D Delaunay 测试**:空输入、正四面体、Delaunay 空外接球性质验证、退化点(共面/共线)
- **3D 网格布尔测试**:相交/不相交/包含场景的 union/intersection/difference/sym_diff、空网格边界、点分类、invert/merge 辅助函数
- **B-Rep 测试**make_box/make_sphere/make_cylinder 实体创建、拓扑查询(face_edges/edge_faces/vertex_edges)、to_mesh 离散化、有效性验证、空模型边缘情况
- **构建更新**tests/CMakeLists.txt 添加 brep 子目录,mesh/boolean CMakeLists 添加新测试
- **文档更新**:开发计划 S9 状态更新为进行中
## [0.8.0] — 2026-07-23
### Sprint 8 收尾 — spatial + mesh
- **KD-Tree 完善**priority-queue kNN、ray query、remove 支持
- **Octree 完善**ray query 补充
- **mesh_simplify**QEM 简化实现验证
2026-07-23 12:36:39 +00:00
## [0.7.0] — 2026-07-23
### 模块补全
- **3D 网格布尔运算**mesh_union/intersection/difference/sym_diff + BVH 射线投射
- **网格平滑扩展**HC Laplacian(体积保持)、双边滤波(特征保留)
- **网格质量评估**:三角形/四面体质量、质量报告(A-F 分级)
- **R-Tree 完整实现**STR bulk-loading、分层查询、kNN priority-queue
- **碰撞检测扩展**ray-aabb/sphere/mesh/plane、tri-tri 交线
- **曲线曲面补全**Bezier/BSpline 解析导数、自适应细分
- **core 补全**distance6 种扩展)、polygon(三角剖分、凸包、简化)
- **foundation 补全**OBJ 纹理坐标、STL ASCII/Binary 双格式
2026-07-23 12:36:39 +00:00
### 测试覆盖扩展
- 新增 7 个测试文件:polygon、distance、r_tree、ray、quality、smooth
- 测试从 11 文件/25 用例 → 17 文件/92 用例(100% 通过)
### 修复
- exact_predicates 匿名 namespace 泄漏
- RTree insert/remove 自赋值 bug
- mesh_quality 纵横比公式归一化
### 文档
- 开发计划 S8 状态更新
2026-07-23 12:36:39 +00:00
## [0.1.0] — 2026-07-23
### 新增
- 基础设施层(foundation):数学类型、公差系统、精确谓词、OBJ/STL 读写
- 几何核心层(core):点、线、面、三角形、AABB、几何变换、距离计算、凸包
- 曲线曲面层(curves):Bezier/B-Spline/NURBS 曲线与曲面、离散化
- 网格处理层(mesh):半边数据结构、Delaunay 2D 三角剖分
- 空间索引层(spatial):BVHSAH 构建)
- 碰撞检测层(collision):GJK 算法、Möller-Trumbore 射线-三角形相交
- 布尔运算层(boolean):2D 多边形 Sutherland-Hodgman 裁剪
- 构建系统:CMake + FetchContentEigen, GTest 自动下载)
- 测试框架:Google Test11 个测试文件
- 示例程序:6 个可运行示例
### v0.8.0 时已全部完成 ✅
(以下为初始规划时的待完成清单,现已全部实现)
- 网格简化(QEM
- 网格平滑(Laplacian/Taubin/HC/Bilateral
- 3D 网格布尔运算 ✅
- Octree、KD-Tree、R-Tree 完整实现 ✅
- 3D Delaunay 剖分 ✅
- B-Rep 支持 ✅
- Python 绑定 ✅