From 979f30c80a4a355642c77a92b87b89b3931ded6d Mon Sep 17 00:00:00 2001 From: Tarik Moussa Date: Mon, 25 May 2026 23:51:26 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20integrate=20publication=20analysis=20?= =?UTF-8?q?=E2=80=94=20Alexa,=20Bobenko,=20Springborn,=20Crane,=20Lutz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- doc/math/references.md | 10 +++++ doc/roadmap/java-parity.md | 4 +- doc/roadmap/phases.md | 83 +++++++++++++++++++++++++++++++++++ doc/roadmap/research-track.md | 71 ++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 1 deletion(-) diff --git a/doc/math/references.md b/doc/math/references.md index d4ae679..07ef752 100644 --- a/doc/math/references.md +++ b/doc/math/references.md @@ -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 Laplace–Beltrami 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. 9505–9534. 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. | diff --git a/doc/roadmap/java-parity.md b/doc/roadmap/java-parity.md index 28e0b30..d7beaaa 100644 --- a/doc/roadmap/java-parity.md +++ b/doc/roadmap/java-parity.md @@ -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 | diff --git a/doc/roadmap/phases.md b/doc/roadmap/phases.md index 7fb34d6..ee6ab16 100644 --- a/doc/roadmap/phases.md +++ b/doc/roadmap/phases.md @@ -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 diff --git a/doc/roadmap/research-track.md b/doc/roadmap/research-track.md index f0e3c9f..2ec4892 100644 --- a/doc/roadmap/research-track.md +++ b/doc/roadmap/research-track.md @@ -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 (1–2 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.*