Commit Graph

157 Commits

Author SHA1 Message Date
茂之钳 6779b45f27 feat(v3.8): G2 curvature + continuity implementation
- surface_curvature: mean (H) and Gaussian (K) curvature via
  first/second fundamental forms with analytic first derivatives
  and finite-difference second derivatives
- is_g2_continuous: G0/G1/G2 continuity check along shared boundary
  with proper parameter range extraction and reverse-parameter
  matching on opposite edges
- extend_surface: tangent-aligned surface extension along any edge
  (umin/umax/vmin/vmax) with knot vector propagation
2026-07-24 15:21:36 +00:00
茂之钳 50d835e495 feat(v3.8): G2 continuity + surface extension + curvature (header only)
CI / Build & Test (push) Failing after 16m52s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 15:19:01 +00:00
茂之钳 e573cf958f docs: v3.8 engineering drawing + G2 continuity plan
CI / Build & Test (push) Failing after 36s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 15:15:53 +00:00
茂之钳 a6939d5abd fix: replace Eigen::SelfAdjointEigenSolver with cross product plane fitting
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:42:41 +00:00
茂之钳 38ebb963d0 feat(v3.6): SSI-based boolean operations — face-face intersection splitting
CI / Build & Test (push) Failing after 1m40s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:36:32 +00:00
茂之钳 00ea90b522 fix: add default constructors to NurbsCurve and NurbsSurface
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 41s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:26:47 +00:00
茂之钳 ebce6abdd6 feat(v3.6): TrimmedSurface — B-Rep fundamental primitive
CI / Build & Test (push) Failing after 41s
CI / Release Build (push) Failing after 32s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:25:51 +00:00
茂之钳 605e1aded5 docs: industrial CAD kernel alignment roadmap + v3.6 TrimmedSurface plan
CI / Build & Test (push) Failing after 16m58s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:22:14 +00:00
茂之钳 2c59c55c6b docs: complete documentation polish — CHANGELOG v3.1-v3.5, README update, plan cleanup, v3.6 ideas
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
2026-07-24 14:13:26 +00:00
茂之钳 d9a673257e fix: call .value() on optional before .bounds()
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:08:29 +00:00
茂之钳 f74f8b03bb fix: revert bad optional dereference -> fix
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 37s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:07:45 +00:00
茂之钳 e1f7f0b070 fix: add missing <optional> include in assembly.h
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 36s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:05:07 +00:00
茂之钳 2f1c67d7b3 fix: optional<BrepModel> dereference with ->
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:03:20 +00:00
茂之钳 12db7d3e5a feat(v3.5): perf caching + measure + flange/gear + feature tree + assembly constraints
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 14:02:24 +00:00
茂之钳 f89f5f6bcd docs: v3.5 performance + practical parts plan
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:50:29 +00:00
茂之钳 6468f6e911 fix: Point2D already in scope via point.h
CI / Build & Test (push) Failing after 34s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:24:17 +00:00
茂之钳 6caed82319 fix: Point2D already defined in point.h
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 43s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:23:45 +00:00
茂之钳 00a71c4573 feat(v3.4): CAM toolpath — contour + pocket + G-code
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:23:02 +00:00
茂之钳 212c6a02c5 feat(v3.4): integrate face splitting into B-Rep boolean operations
Replace centroid-only classification (classify_point_mesh on full face fragments)
with split-and-classify approach using split_face_by_plane() from v3.3:

- Add include for brep_face_split.h
- Add face_normal() helper (extracts surface normal at parametric mid-point)
- Add split_and_classify_faces(): splits each face of body A by the planes of
  every face in body B, then classifies each resulting fragment individually
- Refactor brep_union, brep_intersection, brep_difference to use the new
  split-and-classify pipeline
- Add test: Union_SelfUnion_WithSplitting

This produces more precise boolean results by ensuring face fragments that
straddle the boundary are properly split before classification.
2026-07-24 13:20:17 +00:00
茂之钳 2b8bc3c212 feat(v3.4): manufacturing-ready plan + tag v3.3.0
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 1m31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:18:13 +00:00
茂之钳 324066a27c fix: properly restore and fix surface_intersection.h
CI / Build & Test (push) Failing after 38s
CI / Release Build (push) Failing after 40s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:15:15 +00:00
茂之钳 d6039bc686 fix: /* */ inside doxygen block prematurely closes comment
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:14:34 +00:00
茂之钳 314543f7a5 tmp: comment out plane intersect to test build
CI / Build & Test (push) Failing after 35s
CI / Release Build (push) Failing after 16m58s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:13:55 +00:00
茂之钳 d19db17bef fix: remove curve.curve references in implementation
CI / Build & Test (push) Failing after 41s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:12:04 +00:00
茂之钳 135b977865 fix: remove optional<NurbsCurve> field (no default ctor)
CI / Build & Test (push) Failing after 39s
CI / Release Build (push) Failing after 39s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 13:11:32 +00:00
茂之钳 4a32633482 feat(v3.3): NURBS surface-surface intersection
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
Implement industrial-grade NURBS surface-surface intersection algorithm:

Phase 1 — Recursive AABB subdivision with overlap culling
Phase 2 — Grid-based seed point discovery in leaf patches
Phase 3 — Newton refinement + tangent tracing along intersection curves
Phase 4 — Chord-length NURBS curve fitting through traced points

Also implement plane-surface intersection using contour tracing
on the parameter domain with Newton refinement.

New files:
- include/vde/curves/surface_intersection.h  (IntersectionCurve struct, APIs)
- src/curves/surface_intersection.cpp        (full algorithm implementation)
- tests/curves/test_surface_intersection.cpp (16 test cases)

Tests cover: plane-cylinder (horizontal/vertical/oblique cuts),
plane-planar, two intersecting planes, self-intersection,
non-intersecting surfaces, sphere-cylinder, fitted curve
verification, and robustness edge cases.
2026-07-24 13:07:45 +00:00
茂之钳 b2274d3b55 fix: clean up fuzz CMakeLists test properties
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 34s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:58:24 +00:00
茂之钳 107cf58034 feat(v3.3): B-Rep face splitting + fuzz testing (all 3 tasks)
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 29s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:48:42 +00:00
茂之钳 acc26e3a4b feat(v3.3): WebGL 3D viewer + tutorial docs 2026-07-24 12:42:49 +00:00
茂之钳 36c55eb663 feat(v3.3): DEB packaging + development plan
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 37s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:41:00 +00:00
茂之钳 5ec39b1ae8 docs: filter doc blocks captured as code
CI / Build & Test (push) Failing after 47s
CI / Release Build (push) Failing after 36s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:27:47 +00:00
茂之钳 b1a5e4b4b9 docs: use H4 for API entries, H3 for files
CI / Build & Test (push) Failing after 30s
CI / Release Build (push) Failing after 30s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:25:57 +00:00
茂之钳 e3122e8b9d docs: improved API ref generator with multi-line sigs
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 46s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 12:22:09 +00:00
茂之钳 7219791685 docs: Markdown API reference (6942 lines, 76 headers)
CI / Build & Test (push) Failing after 16m49s
CI / Release Build (push) Failing after 1m31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:58:54 +00:00
茂之钳 48dc555a4f docs: API ref generation script
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:58:09 +00:00
茂之钳 2f111edcd5 docs: generated API documentation (483 pages)
CI / Build & Test (push) Failing after 33s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:55:47 +00:00
茂之钳 d18fb4c4b6 fix: assembly nested hierarchy count
CI / Build & Test (push) Failing after 28s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:50:47 +00:00
茂之钳 efb15ea8f2 feat(v3.2): assembly tree + benchmark report + CI/Python/3MF
CI / Build & Test (push) Failing after 16m57s
CI / Release Build (push) Failing after 38s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:50:00 +00:00
茂之钳 e67b758566 fix: 3MF multi-object parsing — flush per object
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:42:13 +00:00
茂之钳 d05dc3f7f3 fix: 3MF reader support multiple objects in single model file
CI / Build & Test (push) Failing after 30s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:39:36 +00:00
茂之钳 f4e34d36cc fix: add <fstream> include to 3mf test
CI / Build & Test (push) Failing after 17m0s
CI / Release Build (push) Failing after 24s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
2026-07-24 11:37:06 +00:00
茂之钳 7c2fb4b7c3 feat(v3.2): CI/CD config + Python bindings setup
CI / Build & Test (push) Failing after 43s
CI / Release Build (push) Failing after 41s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
- Add .gitea/workflows/build.yml (build, test, docs, python binding CI)
- Add root pyproject.toml + setup.py (CMake-based pip install)
- Add root vde/__init__.py (Python package entry point)
- Update README: CI badge, version 3.2.0, Python install instructions
- Bump project version to 3.2.0 across CMakeLists.txt, python/setup.py, python/vde/__init__.py
- Add build_py/ to .gitignore
2026-07-24 11:33:09 +00:00
茂之钳 a8052c5aae feat(v3.2): 3MF format import/export 2026-07-24 11:30:36 +00:00
茂之钳 decb866097 fix: revert BlendPlanarSurfaces test changes (broke existing test)
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 11:20:56 +00:00
茂之钳 6d940616af docs: add docs/api/ to gitignore
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 11:19:18 +00:00
茂之钳 089442fb69 fix: more /* */ inside doxygen blocks in octree/boolean_mesh
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 31s
2026-07-24 11:17:46 +00:00
茂之钳 980cb32468 fix: remove remaining /* ... */ inside doxygen blocks
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 31s
2026-07-24 11:14:27 +00:00
茂之钳 fba37f7065 fix: replace /* ... */ with // ... in doxygen code blocks to prevent premature comment termination
CI / Build & Test (push) Failing after 31s
CI / Release Build (push) Failing after 1m31s
2026-07-24 11:12:49 +00:00
茂之钳 ac4c4300ed docs: doxygen annotations for sdf + brep + capi 2026-07-24 11:09:45 +00:00
茂之钳 4c9ee4f760 docs: doxygen annotations for curves + mesh + sketch
CI / Build & Test (push) Failing after 29s
CI / Release Build (push) Failing after 38s
2026-07-24 11:04:04 +00:00