v0.7.0 — Phase 7 complete: 173 Tests, Onboarding-Doku, geometry-central #3
Reference in New Issue
Block a user
No description provided.
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Was ist drin (19 Commits seit letztem Merge)
test_geometry_utils.cpp)doc/math/discrete-conformal-theory.md— mathematische Grundlagendoc/math/software-landscape.md— Einordnung vs. libigl/CGAL/geometry-centraldoc/math/novelty-statement.md— Alleinstellungsmerkmal, Zielgruppendoc/math/validation.md+validation-protocol.mddoc/architecture/geometry-central-comparison.mddoc/concepts/declarative-pipeline.md(Phase 8e Spezifikation)doc/tutorials/add-inversive-distance.mdnewton_solver.hppundlayout.hppCITATION.cff— maschinenlesbares Zitat (Sechelmann 2016, Springborn 2020)LICENSE— korrekter Autor (Tarik Moussa)scripts/try_it.sh— 5-Minuten-Quickstart für neue Nutzerinstall-Target für Header-only-LibraryTest plan
test-fast→ 36 non-CGAL tests passtest-cgal→ 173 CGAL tests pass, 1 skipv0.7.0liegt auf HEAD dieses BranchesZiel: einem interessierten Mathematiker ermöglichen, die bisherige Arbeit unabhängig zu validieren und eigene Forschung beizutragen. Neu: doc/math/discrete-conformal-theory.md Kompakte mathematische Einführung (DCE, Variationsprinzip, drei Geometriemodi, Holonomie, Periodenmatrix) für Riemann-Flächen-Kenner. doc/math/validation.md Analytisch bekannte Sollwerte + wie man sie mit dem Code prüft: Gauss–Bonnet (χ), τ ∈ Fundamentaldomäne (3 Invarianten), Symmetrie- Argumente für τ=i (4-fach) und τ=e^{iπ/3} (6-fach), Newton-Konvergenz, Gradienten-Check (FD), Holonomie-Kommutator. Reviewer-Checkliste. CONTRIBUTING.md (Root) Gitea/GitHub-Standard: CONTRIBUTING.md im Root-Verzeichnis als Kurzreferenz mit Links zu doc/contributing.md und den Math-Docs. code/data/off/torus_4x4.off — 16 Vertices, 32 Flächen, Genus 1 code/data/off/torus_8x8.off — 64 Vertices, 128 Flächen, Genus 1 code/data/off/torus_hex_6x6.off — 36 Vertices, 72 Flächen, 6-fach Sym. Aktualisiert: README.md — 158 → 170 Tests, zwei neue Math-Links in Tabelle doc/api/tests.md — 28 Suiten, 170 Tests, 1 Skip (korrigiert) doc/contributing.md — Testzähler 158+2 → 170+1 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>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>Mesh-Dateien aus Java-Referenzimplementierung übernommen: code/data/obj/cathead.obj — offenes Mesh (Java: cathead.obj) code/data/obj/tetraflat.obj — flaches Tetraeder (Java: tetraflat.obj) code/data/obj/brezel.obj — Genus-1-Brezel (Java: brezel.obj) code/data/obj/brezel2.obj — Genus-2-Brezel, V=2622 F=5248 χ=−2 (Java: brezel2.obj) code/.gitignore: !data/**/*.obj — Mesh-Daten von *.obj-Regel ausgenommen. Neue Tests in test_geometry_utils.cpp: HomologyGenerators.Genus2_FourCutEdges [vorher: GTEST_SKIP] Java: HomologyTest.testHomology — brezel2.obj, expects paths.size()==4 C++: compute_cut_graph(brezel2) → cut_edge_indices.size()==4, genus==2 EuclideanLayout.DoLayout_TetraFlat_EdgeLengthsPreserved [neu] Java: EuclideanLayoutTest.testDoLayout — tetraflat.obj, u=0, l3D==lUV (1e-11) C++: euclidean_layout(tetraflat, x=0) → alle UV-Kantenlängen == 3D (1e-10) EuclideanLayout.CatHead_NewtonConverges_AngleSumsTwoPi [neu] Java: EuclideanLayoutTest.testLayout02 + EuclideanCyclicConvergenceTest C++: newton_euclidean(cathead) konvergiert, Gradientenreste < 1e-6 SphericalLayout.SphericalTetrahedron_NewtonConverges_AngleSumsTwoPi [neu] Java: SphericalConvergenceTest.testSphericalConvergence C++: newton_spherical(sph_tetrahedron) konvergiert, Winkeldefekte < 1e-6 CMakeLists.txt: CONFORMALLAB_DATA_DIR=${CMAKE_SOURCE_DIR}/data als Compile-Def. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>doc/concepts/declarative-pipeline.md — vollständige Design-Spezifikation: 1. Kernidee: Processing Units mit expliziten require/provide-Contracts 2. Token-Vokabular: 30 Tokens in 7 Kategorien input, setup, Gauss-Bonnet, solver, topology, layout, period/domain/output 3. YAML-Schema: Vollständige Syntax inkl. Parameterdefaults aller Units 4. Validierungsalgorithmus: monoton wachsendes provided-Set, Pre-Execution-Check 5. 5 vollständige Beispiele: A — Euklidische Uniformisierung Torus (τ-Ausgabe) B — Sphärische Uniformisierung (cathead.obj) C — Hyperbolische Uniformisierung Torus (Poincaré-Disk) D — Volle Pipeline mit Periodenmatrix + 5×5-Kachelung E — Absichtlich fehlerhaftes Beispiel mit Validator-Fehlermeldungen 6. C++-Mapping: alle YAML-Unit-Namen → C++-Funktionen + Header 7. Implementierungsplan (Phase 8e): pipeline.hpp + CLI-App + YAML-Abhängigkeit 8. Design-Entscheidungen: YAML vs. JSON/TOML, explizit vs. auto-inference, linear vs. DAG, eine Geometrie pro Datei doc/api/cgal-package.md: Link zum Konzeptdokument ergänzt. README.md: Link in Dokumentationstabelle ergänzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>