茂之钳
08b5854c56
feat(sdf): S12-C PyTorch integration + Python bindings
...
CI / Build & Test (push) Failing after 16m59s
CI / Release Build (push) Failing after 42s
Add batch evaluation/gradient functions for SDF trees (sdf_torch.h/cpp).
Add sdf_gradient.h with finite-difference gradient utilities.
Add Python modules vde.sdf (high-level SDF API) and vde.torch_sdf (PyTorch autograd).
Add test_sdf_torch_bridge.cpp with batch eval/gradient tests.
Integrate into vde_sdf library and test suite.
2026-07-24 07:20:45 +00:00
茂之钳
6418097f98
fix: SDF test files — core namespace qualification
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 37s
2026-07-24 07:11:03 +00:00
茂之钳
7c95dfa6fd
fix: sdf — 移除重复 add_subdirectory,移除 C++20 <numbers>
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 07:05:57 +00:00
茂之钳
b7419a7881
feat(sdf): S11 — SDF 隐式建模完整模块
...
CI / Build & Test (push) Failing after 29s
CI / Release Build (push) Failing after 35s
S11-A: SDF 图元库
- 14 种基础形状(inline header)
- sphere/box/round_box/torus/capsule/cylinder/cone/plane/ellipsoid
- triangular_prism/hex_prism/link/wedge
- 2D 挤出(extrusion/extrusion_bounded/revolution)
S11-B: SDF 操作 + 域变形
- 锐利布尔: union/intersection/difference
- 平滑布尔: smooth_union/smooth_intersection/smooth_difference
- 修饰器: round/onion
- 域变形: repeat/mirror/rotate/translate/scale/twist/bend/elongate/displace/cheap_bend
- 24 项测试
S11-C: CSG 表达式树 + 网格转换 + Python 绑定
- SdfNode 树结构 — 工厂构造函数,递归求值
- sdf_to_mesh — 基于 marching_cubes 的 SDF→网格
- bind_sdf — pybind11 Python 绑定
文件: 14 文件,2,545 行(测试 1,296 行)
2026-07-24 07:04:55 +00:00
茂之钳
6d3f8fc8b3
fix(sdf): use GE/LE instead of GT/LT for smooth blend bounds
...
CI / Build & Test (push) Failing after 37s
CI / Release Build (push) Failing after 29s
When d1==d2, smooth blend exactly hits k/4 bound at h=0.5, so
EXPECT_GE/EXPECT_LE are correct instead of EXPECT_GT/EXPECT_LT.
2026-07-24 07:02:52 +00:00
茂之钳
6a3c0d633e
fix(sdf): correct difference test expected value
...
CI / Build & Test (push) Failing after 34s
CI / Release Build (push) Failing after 38s
op_difference(2.0, -3.0) = max(-2.0, -3.0) = -2.0, not -3.0
2026-07-24 07:02:26 +00:00
茂之钳
ebd29e2a21
feat(sdf): S11-B — SDF operations + domain deformations
...
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 31s
Add header-only SDF combinator operations and domain deformation
functions based on Inigo Quilez standard formulations:
Boolean operations:
- op_union (min), op_intersection (max), op_difference (max(-d1,d2))
- Smooth variants: op_smooth_union/intersection/difference with blend radius k
with graceful fallback to sharp when k <= 0
Shape modifiers:
- op_round (d - r), op_onion (abs(d) - t/2)
Domain deformations (coordinate remapping):
- op_repeat (infinite grid repetition)
- op_mirror_x/y/z (with optional offset)
- op_rotate (Y-axis), op_translate, op_scale
- op_twist (Y-axis), op_bend, op_cheap_bend
- op_elongate, op_displace
All functions are inline in include/vde/sdf/sdf_operations.h.
Comprehensive unit tests in tests/sdf/test_sdf_operations.cpp covering
sharp/smooth booleans, modifiers, domain ops, and composition tests.
2026-07-24 07:02:03 +00:00