docs: integrate publication analysis — Alexa, Bobenko, Springborn, Crane, Lutz

Add phases 9d / 9e / 9f and literature citations derived from a systematic
review of the five authors' publication lists (Tier 1 / 2 / 3 analysis).

phases.md:
  - Phase 9d: ConesUtility port (9d.1) + non-Euclidean cone extensions
    (9d.2, RESEARCH) + StereographicUnwrapper (9d.3)
  - Phase 9e: CirclePatternLayout + CirclePatternUtility (Java port)
  - Phase 9f: Polygon Laplacian on non-triangular meshes (Alexa 2011/2020,
    RESEARCH — no Java equivalent)
  - Phase 9b-analytic: add Rivin-Springborn 1999 as Schläfli source
  - Phase 10b: add Bobenko-Bücking 2009 + Bobenko-Lutz 2024 IMRN
  - Phase 10c: add Lutz 2023 (canonical tessellations) + Bobenko-Lutz 2024
  - Phase 10c' KoebePolyhedron: add Bowers-Bowers-Lutz 2026 rigidity result

references.md:
  - Crane et al. 2018 Optimal Cone Singularities (Phase 9d.2)
  - Bobenko-Lutz 2025 Discrete & Comput. Geom. (Phase 9d.2)
  - Bobenko-Lutz 2024 IMRN (Phase 10b/c)
  - Lutz 2023 Geom. Dedicata (Phase 10c)
  - Lutz PhD thesis TU Berlin 2024 (Phases 9d.2, 10b, 10c)
  - Bowers-Bowers-Lutz 2026 (Phase 9b-analytic + 10c')
  - Alexa-Wardetzky 2011 + Alexa 2020 (Phase 9f)
  - Bobenko-Bücking 2009 (Phase 10b)
  - Rivin-Springborn 1999 (Phase 9b-analytic)

research-track.md:
  - New entry: Phase 9d.2 non-Euclidean cone extensions (Bobenko-Lutz 2025
    + Crane 2018), with acceptance criteria
  - New entry: Phase 9f polygon Laplacian (Alexa-Wardetzky 2011 / Alexa 2020),
    with acceptance criteria

java-parity.md:
  - Split cone-metrics row into Euclidean (9d.1 port) and non-Euclidean
    (9d.2 research) with literature references
  - Add ConesUtility to "utility classes not yet ported" table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tarik Moussa
2026-05-25 23:51:26 +02:00
parent f25174ed69
commit 068df474b1
4 changed files with 167 additions and 1 deletions

View File

@@ -27,6 +27,14 @@ Java reference implementation: [github.com/varylab/conformallab](https://github.
| **Erickson, Whittlesey***Greedy Optimal Homotopy and Homology Generators*, SODA (2005) | `cut_graph.hpp` — tree-cotree algorithm |
| **Bobenko, Springborn***A Discrete LaplaceBeltrami Operator for Simplicial Surfaces*, Discrete & Computational Geometry (2007) | Background for cotangent weights |
| **Desbrun, Kanso, Tong***Discrete Differential Forms for Computational Modeling*, SIGGRAPH Course Notes (2006) | Discrete exterior calculus background for Phase 10a |
| **Crane, Soliman, Ben-Chen, Schröder***Optimal Cone Singularities for Conformal Flattening*, ACM SIGGRAPH (2018). DOI: [10.1145/3197517.3201367](https://doi.org/10.1145/3197517.3201367) | L¹-optimal automatic cone placement — **Phase 9d.2** (non-Euclidean cone extensions). Provides the optimisation algorithm for choosing cone positions automatically; complements Bobenko-Lutz 2025 on non-Euclidean settings. |
| **Bobenko, Lutz***Decorated Discrete Conformal Equivalence in Non-Euclidean Geometries*, Discrete & Computational Geometry (2025). arXiv: [2310.17529](https://arxiv.org/abs/2310.17529) | **Phase 9d.2**: extends DCE to hyperbolic + spherical geometry with Penner-coordinate decorations; unifies cone singularities and hyperideal cusps in one algebraic framework. |
| **Bobenko, Lutz***Decorated Discrete Conformal Maps and Convex Polyhedral Cusps*, IMRN 2024(12), pp. 95059534. arXiv: [2305.10988](https://arxiv.org/abs/2305.10988) | **Phase 10b/10c**: discrete uniformization theorem for decorated piecewise Euclidean surfaces; connects Phase 2/3 hyperideal vertices (cusps at ∞) to the period matrix and fundamental domain. |
| **Lutz***Canonical Tessellations of Decorated Hyperbolic Surfaces*, Geometriae Dedicata 217 (2023). arXiv: [2206.13461](https://arxiv.org/abs/2206.13461) | **Phase 10c**: canonical Delaunay tessellations in Penner coordinates; unifies the decorated framework with the fundamental domain construction for genus g ≥ 2. |
| **Lutz***Decorated Discrete Conformal Equivalence, Canonical Tessellations, and Polyhedral Realization* (PhD thesis, TU Berlin, 2024). DOI: [10.14279/depositonce-20357](https://doi.org/10.14279/depositonce-20357) | Comprehensive single reference for Phases 9d.2, 10b, 10c — collects Bobenko-Lutz 2024/2025 and Lutz 2023 with complete proofs. |
| **Bowers, Bowers, Lutz***Rigidity of circle polyhedra and hyperideal polyhedra: the tangency case* (2026). arXiv: [2601.22903](https://arxiv.org/abs/2601.22903) | **Phase 9b-analytic + Phase 10c'** (KoebePolyhedron): theoretical uniqueness/rigidity for hyperideal polyhedra in the tangency case; supports correctness of the analytic Hessian and the KAT construction. |
| **Alexa, Wardetzky***Discrete Laplacians on General Polygonal Meshes*, ACM SIGGRAPH (2011). DOI: [10.1145/1964921.1964997](https://doi.org/10.1145/1964921.1964997) | **Phase 9f**: virtual-node polygon Laplacian extending Pinkall-Polthier to non-triangular meshes. Enables DCE on quad/Voronoi meshes without triangulation. |
| **Alexa***Discrete Laplacians on General Polygonal Meshes*, ACM TOG 39(6) (2020). DOI: [10.1145/3414685.3417840](https://doi.org/10.1145/3414685.3417840) | **Phase 9f** (extended journal version): error bounds, generalised polygon cotangent weights, convergence analysis. |
---
@@ -58,3 +66,5 @@ builds on this paper and augments it with Ptolemaic flips.
| **Farkas, Kra***Riemann Surfaces*, Springer GTM 71 | Siegel period matrix, Teichmüller theory |
| **Siegel***Topics in Complex Function Theory, Vol. 2*, Wiley | Siegel upper half-space H_g, Sp(2g,) reduction |
| **Bobenko, Mercat, Schmies***Period Matrices of Polyhedral Surfaces*, in: Computational Approach to Riemann Surfaces (2011) | Discrete period matrices on polyhedral surfaces |
| **Bobenko, Bücking***Conformal Structures and Period Matrices of Polyhedral Surfaces* (2009) | Phase 10b: explicit algorithm for computing the discrete Siegel period matrix Ωᵢⱼ on a polyhedral surface from cotangent-weighted integration. |
| **Rivin, Springborn***The Schläfli formula in Einstein manifolds with boundary*, Electron. Res. Announc. AMS 5 (1999) | Phase 9b-analytic: modern form of the Schläfli identity `2 dV = Σ aₑ dαₑ` for manifolds with boundary — the bilinear form used to derive the analytic HyperIdeal Hessian. |

View File

@@ -22,7 +22,8 @@ as the reference implementation for expected behaviour, edge cases, and test cas
| HyperIdeal Hessian — analytic via ζ → l → β/α | ❌ *(`hasHessian()==false`)* | ⚠️ FD (Phase 4a) → block-FD (Phase 9b) | **Java has NO Hessian for HyperIdeal** (verified: `HyperIdealFunctional.java:295-298` declares `hasHessian() { return false; }`). Both C++ Hessian variants are **new research beyond Java**; analytic Schläfli-based variant is Phase 9b-analytic. |
| Newton solver | ✅ | ✅ | |
| SparseQR fallback for gauge modes | unknown | ✅ | New in C++ |
| Cone metrics — prescribed Θᵥ ≠ 2π | ✅ fully | ⚠️ data structure only | |
| Cone metrics — prescribed Θᵥ ≠ 2π (Euclidean) | ✅ fully | ❌ Phase 9d.1 (port) | Java Euclidean-only; `ConesUtility.java` ~200 lines |
| Cone metrics — non-Euclidean (HyperIdeal / Spherical) | ❌ *(not in Java)* | ❌ Phase 9d.2 (research) | **No Java source.** Mathematical basis: Bobenko-Lutz 2025 (decorated DCE) + Crane et al. 2018 (optimal cone placement). |
| Layout / embedding — ℝ² / H² / S² | ✅ | ✅ priority-BFS all three | |
| Exact hyperbolic trilateration | ✅ Möbius | ✅ Möbius + law of cosines | |
| halfedge_uv — seam-aware UV (texture atlas) | ✅ | ✅ | |
@@ -49,6 +50,7 @@ They are candidates for Phase 9 or Phase 10.
| Java class | Description | Phase |
|---|---|---|
| `ConesUtility` (~200 lines) | Prescribed cone angles Θᵥ ≠ 2π — Euclidean mode only | 9d.1 |
| `CPEuclideanFunctional` | Face-based circle-packing energy (BPS 2010) | 9a.1 |
| `FundamentalPolygonUtility` (698 lines) | Construction + canonicalisation of 4g-gons for genus-g | 9c |
| `CanonicalFormUtility` (532 lines) | High-level wrapper for 9c — drives canonicalisation pipeline | 9c |

View File

@@ -109,6 +109,8 @@ mesh type.
9b-analytic Full analytic HyperIdeal Hessian via Schläfli identity
→ planned, see research-track.md
Mathematical source: Springborn 2020 §4 + Schläfli 1858/60
+ Rivin, Springborn 1999 "The Schläfli formula in
Einstein manifolds with boundary" (ERA-AMS 5)
+ Cho-Kim 1999 + Glickenstein 2011 §4
Algorithm: explicit chain rule through (bᵢ,aₑ) → ℓᵢⱼ → ζ₁₃/ζ₁₄/ζ₁₅ → αᵢⱼ/βᵢ
Includes: short LaTeX correctness note in doc/math/.
@@ -127,6 +129,69 @@ mesh type.
+ holonomy infrastructure.
Effort: ~2 weeks for fundamental polygon, +2 weeks for surgery
layer, +1 week integration.
9d — Cone singularities + sphere atlas (Java port + research extension)
────────────────────────────────────────────────────────────────────────
9d.1 ConesUtility (Java port — Euclidean only)
→ cones_utility.hpp
Java source: ConesUtility.java (~200 lines)
Mathematical reference: Troyanov 1991 + Springborn 2020 §3
Port scope: prescribed cone angles Θᵥ ≠ 2π in Euclidean mode.
Status: 🔲 planned
9d.2 Non-Euclidean cone extensions (RESEARCH, not in Java)
→ extend ConesUtility to HyperIdeal + Spherical modes
Java source: NONE — Java ConesUtility is Euclidean-only.
Mathematical reference:
Bobenko, Lutz 2025 "Decorated Discrete Conformal Equivalence in
Non-Euclidean Geometries" (Discrete & Comput. Geom. 2025,
arXiv:2310.17529) §3 — decorated DCE framework unifying cone
singularities and cusps in hyperbolic + spherical geometry.
Crane, Soliman, Ben-Chen, Schröder 2018 "Optimal Cone Singularities
for Conformal Flattening" (ACM SIGGRAPH 2018) — L¹-optimal
automatic cone placement; directly applicable to 9d.2 algorithm.
Status: 🔲 planned
9d.3 StereographicUnwrapper (Java port)
→ stereo_unwrapper.hpp
Java source: StereographicUnwrapper.java (266 lines)
Converts spherical DCE output (Point_3 on S²) to a 2-D atlas
via stereographic projection + Möbius centring.
Closes the visualisation gap from discrete_conformal_map_spherical().
Effort: small (~3 days).
Status: 🔲 planned
9e — CirclePatternLayout (Java port)
─────────────────────────────────────
9e CirclePatternLayout + CirclePatternUtility (Java port)
→ circle_pattern_layout.hpp
Java sources: CirclePatternLayout.java + CirclePatternUtility.java
+ CPEuclideanRotation.java
Mathematical reference: Bobenko-Springborn 2004 variational principle
+ Bobenko-Hoffmann-Springborn 2006 "Minimal
surfaces from circle patterns" (Discrete &
Comput. Geom. 35, 2006).
Status: 🔲 planned
9f — Polygon Laplacian (RESEARCH — no Java equivalent)
──────────────────────────────────────────────────────
9f Discrete Laplacian on general polygonal meshes
→ polygon_laplacian.hpp
Java source: NONE
Mathematical reference:
Alexa, Wardetzky 2011 "Discrete Laplacians on General Polygonal
Meshes" (ACM SIGGRAPH 2011) — virtual-node construction,
polygon cotangent weights extending the Pinkall-Polthier formula.
Alexa 2020 "Discrete Laplacians on General Polygonal Meshes"
(ACM TOG 39, 2020) — extended journal treatment, error bounds.
Enables: DCE energy evaluation on quad-dominant / Voronoi /
polygon meshes without forced triangulation.
Replaces euclidean_hessian.hpp for non-triangular inputs.
Status: 🔲 planned (pure research, no Java source)
Effort: medium (~2 weeks core + tests; +1 week Newton integration).
```
9d — Cone metrics + sphere utilities (Java port — 2026 library scan)
@@ -295,6 +360,13 @@ Phase 10 Global uniformization for genus g ≥ 2
→ Ωᵢⱼ = ∫_{bⱼ} ωᵢ
→ Reduction to Siegel fundamental domain via Sp(2g,).
Mathematical reference: Bobenko-Springborn 2004 + Gottschling 1959.
Bobenko, Bücking 2009 "Conformal Structures and
Period Matrices of Polyhedral Surfaces" — discrete
period matrix Ωᵢⱼ on polyhedral surfaces.
Bobenko, Lutz 2024 IMRN "Decorated Discrete Conformal
Maps and Convex Polyhedral Cusps" — uniformization
theorem connecting cusps ↔ hyperideal vertices
(bridges Phase 2/3 HyperIdeal geometry to 10b).
Java partial reference: DiscreteRiemannUtility.java (186 lines).
Requires: 10a.
Effort: ~1 week net after 10a.
@@ -318,6 +390,14 @@ Phase 10 Global uniformization for genus g ≥ 2
→ Embedding as H²/Γ with Γ ⊂ PSL(2,) a Fuchsian group.
Mathematical reference: Sechelmann 2016 §6 (discrete instance);
Bers 1960 (continuous theory).
Lutz 2023 "Canonical Tessellations of Decorated
Hyperbolic Surfaces" (Geom. Dedicata 217,
arXiv:2206.13461) — canonical Delaunay tessellations
in Penner coordinates; unifies the decorated
framework with the fundamental domain construction.
Bobenko, Lutz 2024 IMRN (arXiv:2305.10988) —
discrete uniformization theorem for decorated
piecewise Euclidean surfaces.
Java reference: NONE — Java has the polygon + period matrix
pieces but does not assemble them into
a Fuchsian-group representation.
@@ -327,6 +407,9 @@ Phase 10 Global uniformization for genus g ≥ 2
10c' Optional Java-port additions (low priority)
→ KoebePolyhedron.java (321 lines) — Koebe-Andreev-Thurston
circle packings. Adds a fifth DCE method.
Rigidity: Bowers, Bowers, Lutz 2026 "Rigidity of circle polyhedra
and hyperideal polyhedra: the tangency case" (arXiv:2601.22903)
— theoretical uniqueness backing the KAT construction.
→ ElectrostaticSphereFunctional (127 lines) — sphere
distribution baseline.
→ CirclePatternLayout / CirclePatternUtility — face-circle

View File

@@ -211,6 +211,77 @@ The phase numbers match `doc/roadmap/phases.md`.
---
### Non-Euclidean cone extensions (Phase 9d.2, 🔲 planned)
* **Mathematical sources:**
- **Bobenko, Lutz** (2025). *Decorated Discrete Conformal Equivalence in
Non-Euclidean Geometries.* Discrete & Comput. Geom. arXiv:2310.17529.
→ §3: Penner-coordinate decoration unifies cone singularities (Θᵥ ≠ 2π)
and hyperideal cusps (Θᵥ = 0) in a single algebraic framework valid in
Euclidean, spherical, and hyperbolic geometry.
- **Crane, Soliman, Ben-Chen, Schröder** (2018). *Optimal Cone Singularities
for Conformal Flattening.* ACM SIGGRAPH 2018. DOI: 10.1145/3197517.3201367.
→ L¹-optimal cone placement via a sparse-recovery optimisation over the
curvature deficit Kᵥ = 2π Θᵥ; directly gives the set of cone angles
to prescribe for a near-flat conformal parametrisation.
- **Lutz** (2024). *PhD thesis, TU Berlin.* DOI: 10.14279/depositonce-20357.
→ Full proofs for both non-Euclidean decorated DCE variants; single reference
covering 9d.2, 10b, and 10c.
* **Java reference:** ❌ **none.** Java `ConesUtility.java` handles only the
Euclidean case; the non-Euclidean extension is new research.
* **Scope:**
- Extend `cones_utility.hpp` (Phase 9d.1, Java port) to accept prescribed
cone angles in HyperIdeal and Spherical modes.
- Integrate the Bobenko-Lutz decoration into the variational framework of
`hyper_ideal_functional.hpp` and `spherical_functional.hpp`.
- Optionally: implement the Crane 2018 L¹-optimiser as a helper that
suggests cone positions automatically from the input curvature.
* **Status:** 🔲 planned; no PR yet.
* **Effort:** medium (12 weeks for Euclidean→HyperIdeal/Spherical extension;
+1 week if Crane 2018 optimiser is included).
* **Acceptance criteria:**
- Prescribed Θᵥ ≠ 2π in HyperIdeal mode: Gauss-Bonnet check passes with
`2π·χ = Σ Θᵥ Σ αᵢⱼ` for given cone angles.
- Newton convergence on a mesh with two manually placed cone singularities
(Euclidean, Spherical, HyperIdeal).
- Cross-validation: at Θᵥ = 2π for all v, output equals existing non-cone solver.
---
### Polygon Laplacian (Phase 9f, 🔲 planned)
* **Mathematical sources:**
- **Alexa, Wardetzky** (2011). *Discrete Laplacians on General Polygonal
Meshes.* ACM SIGGRAPH 2011. DOI: 10.1145/1964921.1964997.
→ Virtual-node construction: each polygon face is replaced by a virtual
central node connected to all vertices; cotangent weights are computed
per sub-triangle; the resulting operator is symmetric and positive
semi-definite, mirroring Pinkall-Polthier for triangulations.
- **Alexa** (2020). *Discrete Laplacians on General Polygonal Meshes.*
ACM TOG 39(6). DOI: 10.1145/3414685.3417840.
→ Extended journal version with error bounds and convergence analysis.
* **Java reference:** ❌ **none.**
* **Scope:**
- Implement `polygon_laplacian.hpp` following the virtual-node construction.
- Slot it into `newton_solver.hpp` as a drop-in replacement for
`euclidean_hessian.hpp` when the input mesh is non-triangular.
- No change to the energy functional — only the Hessian approximation changes.
* **Status:** 🔲 planned; pure research, no Java reference.
* **Effort:** medium (~2 weeks core + tests; +1 week Newton integration).
* **Acceptance criteria:**
- Operator is symmetric and PSD (checked via `LDLT.info() == Success`).
- On a pure triangle mesh, output equals `euclidean_hessian.hpp` result.
- Newton convergence on a quad mesh (e.g., structured grid) with the
polygon Laplacian Hessian.
---
### Genus g ≥ 2 fundamental domain (Phase 9c, 🔲 planned)
* **Mathematical sources:**
- **Poincaré, H.** (1882). *Théorie des groupes fuchsiens.*