Companion implementations and notes for Keenan Crane's Discrete Differential Geometry course.
Current state: educational and improving, not production-complete.
| Area | Status | Notes |
|---|---|---|
| C++ core mesh + DDG algorithms | Partial | Boundary-safe topology, symmetric cotan operators, constrained solves; Hodge bases remain experimental |
| C# core mesh + DDG algorithms | Partial | Boundary-safe parity for topology, curvature, Laplacian, Heat divergence, and boundary mapping |
| Python tooling | Supported utility | Dependency-free OBJ topology inspector plus optional visualizer |
| Web companion | Interactive reference | Responsive workbench with a JS reference engine and optional WASM acceleration |
| Test coverage | Partial | Closed/open topology and Gauss–Bonnet coverage; broader parity datasets remain future work |
See docs/status/IMPLEMENTATION_AUDIT.md for the detailed audit.
| Algorithm | C++ | C# | Maturity |
|---|---|---|---|
| Cotan Laplacian | ✅ | ✅ | Partial (C# currently relies on simplified edge cotan path) |
| Mean Curvature Flow | ✅ | ✅ | Partial |
| Discrete Gaussian Curvature | ✅ | ✅ | Partial |
| Conformal Parameterization | ✅ | ✅ | Partial/Experimental |
| Heat Method | ✅ | ✅ | Partial/Experimental |
| Hodge Decomposition | ✅ | ✅ | Experimental |
Legend: Complete = solidly validated and robust, Partial = implemented with known gaps, Experimental = scaffold/initial implementation, Planned = not yet implemented.
cd src/cpp
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j4
cd build
ctest --output-on-failurecd src/csharp
dotnet restore
dotnet build --configuration Release
cd Tests
dotnet test --configuration ReleaseWASM bindings and demos live under src/wasm/. Open web/index.html for
the interactive workbench; it falls back honestly to the JavaScript reference
engine when compiled WASM artifacts are absent.
src/cpp/ C++ core mesh, algorithms, tests, examples
src/csharp/ C# core mesh, algorithms, tests, CLI examples
src/wasm/ Emscripten bindings and wasm build config
docs/ Chapters, formulas, assignments, tutorials, status docs
examples/ Example usage notes and Python helper script
web/ Interactive scientific workbench and legacy WASM pages
docs/README.mddocs/algorithms/README.mddocs/formulas/index.mddocs/assignments/README.mddocs/tutorials/README.mddocs/status/IMPLEMENTATION_AUDIT.mddocs/status/NEXT_RELEASE_PLAN.md
- Explicit boundary halfedges and topology validation in C++ and C#
- Symmetric cotan assembly and constrained Poisson infrastructure
- Boundary-aware curvature, Heat divergence, and harmonic disk mapping
- Dependency-free Python inspection and an interactive web workbench
- True LSCM assembly, harmonic basis generation, and ARAP deformation
- Cross-language parity datasets and larger numerical regression suites
See CONTRIBUTING.md for build/test workflow, contribution expectations, and documentation standards.
MIT (LICENSE).