Files
ViewDesignEngine/CHANGELOG.md
T
茂之钳 2c59c55c6b
CI / Build & Test (push) Failing after 1m32s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
docs: complete documentation polish — CHANGELOG v3.1-v3.5, README update, plan cleanup, v3.6 ideas
2026-07-24 14:13:26 +00:00

174 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
## [3.5.0] — 2026-07-24
### 性能+实战
- 布尔运算缓存加速(mesh_cache + AABB 预检)
- 测量工具:distance / surface_area / volume / centroid
- 实战零件示例:法兰(flange)+ 齿轮(gear
- 参数特征树:FeatureNode 递归求值 + FeatureHistory undo/redo
- 装配约束:Coincident / Concentric / Tangent / Distance / Parallel / Perpendicular / Angle
## [3.4.0] — 2026-07-24
### 制造就绪
- B-Rep 布尔集成面分割(质量大幅提升)
- CAM 刀具路径:offset_contour + contour_toolpath + pocket_toolpath + G-code 导出
- NURBS 曲面-曲面求交(递归细分 + Newton 精化)
## [3.3.0] — 2026-07-24
### 工业强化
- B-Rep face splittingsplit_face_by_plane
- WebGL 3D 查看器(viewer/index.html,拖放 GLB/STL
- 教程文档 3 篇(快速开始 / SDF / B-Rep
- 模糊测试(SDF / Boolean / Format round-trip
- DEB 打包(packaging/build-deb.sh
## [3.2.0] — 2026-07-24
### CI/CD + 3MF + 装配体
- CI/CD 配置(.gitea/workflows/build.yml
- Python 绑定(pyproject.toml + setup.py
- 3MF 格式导入/导出(零外部依赖 ZIP 实现)
- B-Rep 装配体树(Assembly + AssemblyNode
- 性能基准修复 + 基线报告
## [3.1.0] — 2026-07-24
### 文档 + 示例 + NURBS 操作
- Doxygen API 文档(76 头文件,483 页 HTML
- Gitea Wiki12 页在线 API 参考)
- Markdown API 参考手册(6942 行)
- 3D 打印示例(08_3d_print
- B-Rep 制造示例(09_brep_fab
- Python SDF 优化示例
- NURBS 高级操作(offset / trim / blend / ruled / coons / extrude
- Marching Cubes SEGFAULT 修复
## [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 简化实现验证
## [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 双格式
### 测试覆盖扩展
- 新增 7 个测试文件:polygon、distance、r_tree、ray、quality、smooth
- 测试从 11 文件/25 用例 → 17 文件/92 用例(100% 通过)
### 修复
- exact_predicates 匿名 namespace 泄漏
- RTree insert/remove 自赋值 bug
- mesh_quality 纵横比公式归一化
### 文档
- 开发计划 S8 状态更新
## [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 绑定 ✅