Some checks failed
C++ Tests / test-fast (pull_request) Successful in 1m55s
API Docs / doc-build (pull_request) Successful in 53s
Markdown link check / check (pull_request) Successful in 50s
C++ Tests / test-cgal (pull_request) Has been skipped
C++ Tests / quality-gates (pull_request) Failing after 1m56s
External reviewer pass over the literature references. Verified entries against arXiv/DOI/publisher and corrected misattributions that had propagated across the docs. Corrected citations (consistent across all docs): - Bowers-Bowers-Lutz 2026: title was the 2017 paper's -> "Rigidity of Koebe Polyhedra and Inversive Distance Circle Packings" - Liouville theorem: "Springborn 2019" -> Pinkall & Springborn, Geom. Dedicata 214 (2021) - Bobenko-Pinkall-Springborn: "G&T 14 (2010)" -> G&T 19(4) (2015), 2155-2215 - Optimal Cone Singularities: "Crane, Soliman, Ben-Chen, Schroeder" -> Soliman, Slepcev, Crane, ACM TOG 37(4) - Schlaefli formula: "Rivin, Springborn 1999" -> Rivin, Schlenker - Quasiconformal distortion: "Springborn, Veselov" -> Born, Buecking, Springborn (arXiv:1505.01341) - Period matrices: "Bobenko, Buecking 2009" (was Bobenko-Mercat-Schmies' title) -> Bobenko-Mercat-Schmies 2011 + genuine Bobenko-Buecking 2021 - Fabricated entry: "Alexa 2020, DOI 10.1145/3414685.3417840" pointed to an unrelated paper (Pixelor) -> Bunge, Herholz, Kazhdan, Botsch 2020 - Stripe Patterns: "Bonneel et al. 2015" -> Knoeppel, Crane, Pinkall, Schroeder 2015 Equation-number corrections (verified against the PDFs): - Glickenstein 2011 "eq. 4.6" -> "§5.2" (no such equation label exists) - Springborn 2020 "eq. 4.6" -> "§4 variational gradient" - inversive-distance attribution softened to classical inversive distance Other: - DBFEnergy bibliography (separate repo) and convergence half-sentence in novelty-statement.md §3.3 (Bobenko-Buecking 2021) - Status legend (implemented vs planned) at top of references.md - New Phase 12 (decorated DCE & geometric transition, Chain A, near-term) and Phase 13 (canonical tessellations & polyhedral realisation, Chain B capstone) in phases.md + research-track.md; 10c scope-boundary note clarifying infrastructure vs Lutz-specific algorithms Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
146 lines
6.2 KiB
Markdown
146 lines
6.2 KiB
Markdown
# Scientific Novelty Statement
|
||
|
||
> **Purpose.** This document explicitly states what conformallab++ contributes
|
||
> that no other open-source C++ library provides, and for which research problems
|
||
> it is the right tool. It is intended as a reference for paper introductions,
|
||
> grant applications, and collaborator onboarding.
|
||
|
||
---
|
||
|
||
## 1 — The one-sentence statement
|
||
|
||
conformallab++ is the **only open-source C++ library** that implements discrete
|
||
conformal equivalence in all three geometric settings (Euclidean, Spherical,
|
||
Hyper-ideal), with a complete downstream Teichmüller pipeline — period matrix
|
||
τ ∈ ℍ, Möbius holonomy, and fundamental domain construction — in a single
|
||
cohesive codebase targeting the CGAL ecosystem.
|
||
|
||
---
|
||
|
||
## 2 — Unique features (no equivalent elsewhere in C++)
|
||
|
||
### 2.1 — Three geometry modes in one library
|
||
|
||
| Mode | Space | Energy | Application |
|
||
|---|---|---|---|
|
||
| Euclidean | ℝ² | Σ log(ℓᵢⱼ/ℓ̃ᵢⱼ)² | Flat torus uniformization, texture atlasing |
|
||
| Spherical | S² | NSD variant | Constant positive curvature, Koebe's theorem |
|
||
| HyperIdeal | H² (Poincaré disk) | Springborn 2020 ζ-functions | Hyperbolic surfaces, genus g ≥ 2 |
|
||
|
||
No other open-source C++ library implements all three. geometry-central
|
||
(CMU) has Euclidean and partial HyperIdeal but lacks the Spherical mode entirely.
|
||
|
||
### 2.2 — Period matrix τ with SL(2,ℤ) reduction
|
||
|
||
For a closed genus-1 surface, conformallab++ computes the complex modulus
|
||
τ = ω_b/ω_a ∈ ℍ from the holonomy of the uniformizing flat metric, then reduces
|
||
τ to the standard fundamental domain
|
||
|
||
```
|
||
F = { τ ∈ ℍ : |τ| ≥ 1, |Re(τ)| ≤ 1/2 }
|
||
```
|
||
|
||
via the SL(2,ℤ) action. This identifies the conformal class of the surface in
|
||
Teichmüller space T₁ ≅ ℍ/SL(2,ℤ).
|
||
|
||
**No other open-source C++ library computes τ.** The Java ConformalLab does,
|
||
but requires the JVM and is not integrated with any modern mesh processing framework.
|
||
|
||
### 2.3 — Möbius holonomy in SU(1,1)
|
||
|
||
The holonomy representation ρ: π₁(Σ) → SU(1,1) is computed for closed surfaces
|
||
of any genus. For the torus this gives the lattice generators ω_a, ω_b ∈ ℂ.
|
||
For hyperbolic surfaces this gives deck transformations as Möbius maps acting on
|
||
the Poincaré disk.
|
||
|
||
### 2.4 — Tree-cotree cut graph (Erickson–Whittlesey)
|
||
|
||
For a closed surface of genus g, the cut graph produces exactly 2g seam edges
|
||
that cut the surface to a disk. This is required for layout, holonomy computation,
|
||
and fundamental domain construction. The cut graph is not present in any other
|
||
C++ conformal geometry library.
|
||
|
||
### 2.5 — Fundamental domain and tiling
|
||
|
||
From the holonomy generators, conformallab++ constructs the fundamental domain
|
||
parallelogram and its lattice tiling for genus-1 surfaces. This is the discrete
|
||
analog of the classical construction of a torus as ℂ/Λ.
|
||
|
||
---
|
||
|
||
## 3 — What makes this a research tool, not just an implementation
|
||
|
||
### 3.1 — Variational framework, not heuristic
|
||
|
||
The energy functionals are derived from first principles (Bobenko–Springborn 2004).
|
||
The Newton solver guarantees quadratic convergence to the *global* optimum for
|
||
Euclidean and HyperIdeal modes (strict convexity). The solution is mathematically
|
||
unique (up to Möbius normalisation) — not an approximation.
|
||
|
||
### 3.2 — Analytic Hessians
|
||
|
||
For Euclidean and Spherical modes, the Hessian is computed analytically from the
|
||
cotangent Laplacian and its spherical analog. This gives exact derivatives, not
|
||
finite-difference approximations, which is required for reproducible research.
|
||
|
||
### 3.3 — Discrete-to-smooth correspondence
|
||
|
||
The discrete period matrix τ_discrete is a computable invariant of the triangulated
|
||
surface. Its convergence to the smooth Riemannian τ_smooth under mesh refinement
|
||
is an open research question in general that this library is designed to investigate
|
||
— though it has already been proven for the special class of ramified coverings of
|
||
the Riemann sphere by Bobenko–Bücking (2021).
|
||
|
||
### 3.4 — Full test coverage of analytic invariants
|
||
|
||
176 CGAL tests verify mathematically provable properties:
|
||
- Gauss–Bonnet: Σ(2π−Θᵥ) = 2π·χ(M) to machine precision
|
||
- τ ∈ fundamental domain: three inequalities
|
||
- Holonomy closure: [T_a, T_b] = Id (abelian for genus 1)
|
||
- Gradient consistency: FD check at ε = 1e-5 for all three functionals
|
||
|
||
These are not regression tests — they verify mathematical correctness independently
|
||
of the input mesh.
|
||
|
||
---
|
||
|
||
## 4 — Target audience
|
||
|
||
| Audience | Primary use |
|
||
|---|---|
|
||
| Discrete differential geometers | Computing τ, holonomy, uniformization for theoretical examples |
|
||
| Computational mathematicians | Benchmarking discrete-to-smooth convergence of τ |
|
||
| CGAL developers | Extending the CGAL parameterization package (Phase 8) |
|
||
| Computer graphics researchers | Conformal texture atlasing with exact angle preservation |
|
||
| Algebraic geometers | Numerical experiments on moduli spaces of tori |
|
||
|
||
---
|
||
|
||
## 5 — Relationship to the Java original
|
||
|
||
conformallab++ is a port of Stefan Sechelmann's Java ConformalLab (TU Berlin,
|
||
~850 commits, v1.0.0 2018, LGPL). The port:
|
||
|
||
- Replaces the custom Java halfedge structure (`CoHDS`) with `CGAL::Surface_mesh`
|
||
- Replaces JUnit tests with GTest + CGAL test format (176 tests)
|
||
- Adds Doxygen API documentation, CMake build, and CLI
|
||
- Is MIT licensed (the Java original is LGPL)
|
||
- Targets submission to the CGAL library as package `Discrete_conformal_map`
|
||
|
||
The mathematics is identical to the Java original. The C++ implementation is
|
||
independently validated by the test suite and by agreement with Java outputs on
|
||
shared test meshes (cathead, brezel, torus family).
|
||
|
||
---
|
||
|
||
## 6 — What conformallab++ is not
|
||
|
||
- **Not a mesh processing library.** It operates on existing triangulated surfaces.
|
||
Remeshing, smoothing, and simplification are outside its scope.
|
||
- **Not a real-time renderer.** The Newton solver is accurate but not optimised
|
||
for interactive frame rates (though it converges in < 1 second for typical meshes).
|
||
- **Not a distortion-minimisation tool.** It computes the unique conformally
|
||
equivalent metric, not a least-distortion UV map. Use libigl for the latter.
|
||
- **Not complete for genus g ≥ 2.** The Siegel period matrix Ω and full
|
||
uniformization for higher genus are Phase 10 research targets, not yet implemented.
|