Files
ConformalLabpp/doc/reviewer
Tarik Moussa 46c0b63de8 fix(gauss-bonnet): delete HyperIdeal overloads — wrong identity for hyperbolic metrics
Finding-B from doc/reviewer/external-audit-2026-05-30.md.

The Euclidean Gauss–Bonnet identity Σ(2π−Θ_v) = 2π·χ is ONLY valid for
flat/Euclidean and spherical metrics.  For hyperbolic metrics (HyperIdeal)
the correct identity is Σ(2π−Θ_v) − Area(M) = 2π·χ.  The previously
provided gauss_bonnet_sum(HyperIdealMaps) overload would silently pass the
wrong LHS to check_gauss_bonnet, which would always throw "deficit = ±Area"
for valid hyperbolic targets.

Fix:
- gauss_bonnet_sum(mesh, HyperIdealMaps)        → = delete + explanation comment
- enforce_gauss_bonnet(mesh, HyperIdealMaps&)   → = delete + explanation comment
- Header box comment rewritten with the correct hyperbolic Gauss–Bonnet
  identity and a clear "HyperIdeal: NOT SUPPORTED" section

New test in test_phase6.cpp:
- HyperIdeal_EuclideanSumDiscrepancy_DocumentsWhyCheckIsDeleted
  verifies numerically that the Euclidean sum = 0 but 2π·χ = 4π for a
  regular tetrahedron, documenting the −4π discrepancy that motivated
  the deletion
- Three compile-time static_asserts (SFINAE) confirm the overload is not
  invocable with HyperIdealMaps but remains so with Euclidean/SphericalMaps

263/263 CGAL tests pass, 0 failed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 01:17:27 +02:00
..

Reviewer meeting materials

A single landing page for the three documents associated with an external-reviewer meeting. The materials are written for a peer who actively publishes in discrete differential geometry — specifically the decorated-DCE / Penner-coordinates / hyperideal-polyhedra / canonical-tessellations research line — and who would potentially use conformallab++ as numerical infrastructure for their own future experiments.

Document Audience Purpose
briefing.md the reviewer one-page orientation: what the project is, where to look first, what we want from them
questions.md the reviewer the 5 concrete decisions we want their opinion on (skim before the meeting)
agenda.md me my own meeting playbook: timing, order, the "no" question, post-meeting memo template

After the meeting, a fourth file 2026-XX-XX-meeting-notes.md should land here too — the memo template at the bottom of agenda.md is the suggested structure.

When to send to the reviewer

  • briefing.md + questions.md: as part of the meeting-confirmation email, ~5 business days before the meeting. Subject line: "Pre-read for our conformallab++ chat (~15 min)".
  • agenda.md: never send. This is internal scaffolding.

Hub-Page durability

The reviewer hub HTML at https://tmoussa.codeberg.page/ConformalLabpp/ is published from doc/reviewer/hub.html in the repo (not from a detached preview branch). This means:

  • Merging any of the open PRs into main triggers .gitea/workflows/doxygen-pages.yml which republishes the hub alongside fresh Doxygen HTML — the reviewer URL stays live across merges with no manual intervention.
  • The hub is source-controlled, so changes are reviewable via PR like any other doc, and old versions live in git history.
  • The original Doxygen index moves to /doxygen.html whenever the hub override is active; both are reachable from the hub itself.