# 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 that this library is designed to investigate.

### 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.
