docs: Doxygen-API + Validierungsprotokoll + Porting-Tutorial
Für einen Mathematiker der unabhängig validieren und eigene Forschung
einbringen möchte.
Doxygen-Kommentare (code/include/):
newton_solver.hpp — newton_euclidean(), newton_spherical(), newton_hyper_ideal()
je mit \param, \return, \note, \see inkl. mathematischer Begründung
(Konvexität, Vorzeichenkonvention, SparseQR-Fallback-Erklärung)
layout.hpp — euclidean_layout(), spherical_layout(), hyper_ideal_layout()
mit vollständiger Parameter-Doku, halfedge_uv-Semantik, Poincaré-Disk-Note
Neues Dokument:
doc/math/validation-protocol.md
7 reproduzierbare Checks mit konkreten Befehlen und erwartetem Output:
0. 170 Tests, 1 Skip
1. Gauss–Bonnet exakt (1e-10)
2. FD-Gradientencheck < 1e-6 für alle 3 Geometrien
3. Newton-Konvergenz < 50 Iterationen
4. τ ∈ SL(2,ℤ)-Fundamentaldomäne (3 Invarianten)
5. Möbius-Arithmetik (Inverse, Compose, from_three)
6. End-to-End-Pipeline
7. Manueller τ-Check für torus_4x4.off (Codebeispiel)
Neues Tutorial:
doc/tutorials/add-inversive-distance.md
Vollständiger Step-by-Step-Port von Phase 9a (Luo 2004):
Header anlegen, Energie/Gradient implementieren, FD-Check,
Newton-Wrapper, CMakeLists, Java-Referenzvergleich, Checkliste.
doc/getting-started.md:
Abschnitt "Known issues": macOS-Finder-Duplikate (rm-Befehl),
Warnung "First build 30–90s" (Tarball-Extraktion)
README.md:
Zwei neue Links in der Dokumentationstabelle (validation-protocol,
tutorial)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,30 @@ After a full build (`-DWITH_CGAL=ON`):
|
||||
|
||||
---
|
||||
|
||||
## Known issues
|
||||
|
||||
### macOS Finder duplicates
|
||||
|
||||
macOS Finder sometimes creates duplicate files named `foo 2.hpp` when copying
|
||||
the repository. These cause confusing compile errors ("redefinition of …").
|
||||
|
||||
**Fix (run once from the repo root):**
|
||||
```bash
|
||||
find code/include -name "* 2.*" -delete
|
||||
find code/include -name "*\ 2.*" -delete
|
||||
```
|
||||
|
||||
Files without a ` 2` suffix are always canonical — the duplicates are safe to delete.
|
||||
|
||||
### First build is slow
|
||||
|
||||
The first CMake configure extracts four tarballs (Eigen 3.4, CGAL 6.1.1,
|
||||
libigl 2.6, GLFW 3.4) and downloads GTest via `FetchContent`.
|
||||
Allow **30–90 seconds** for the first configure. Subsequent builds are fast
|
||||
(< 10 s incremental).
|
||||
|
||||
---
|
||||
|
||||
## Rebuilding the CI Docker image
|
||||
|
||||
The CI runner is a self-hosted Raspberry Pi (ARM64). After changes to
|
||||
|
||||
Reference in New Issue
Block a user