Merge pull request 'fix(hub): correct double-branch URL prefix + v0.10.0 badge' (#22) from fix/hub-links-and-version into main
All checks were successful
C++ Tests / test-fast (push) Successful in 2m17s
API Docs / doc-build (push) Has been skipped
Mirror to Codeberg / mirror (push) Successful in 30s
C++ Tests / test-cgal (push) Has been skipped
C++ Tests / quality-gates (push) Successful in 2m12s

This commit is contained in:
2026-05-26 09:51:35 +00:00

View File

@@ -173,7 +173,7 @@ PRs land on <code>main</code>, the publish URL serves the <code>main</code>-bran
<img src="https://img.shields.io/badge/literature-13%20Tier--1%20%26%20Tier--2-blue?style=flat-square" alt="Lit">
<img src="https://img.shields.io/badge/license-MIT-yellow?style=flat-square" alt="License">
<img src="https://img.shields.io/badge/header--only-yes-blue?style=flat-square" alt="Header-only">
<img src="https://img.shields.io/badge/version-v0.9.0-blue?style=flat-square" alt="v0.9.0">
<img src="https://img.shields.io/badge/version-v0.10.0-blue?style=flat-square" alt="v0.9.0">
</p>
<div class="box box-result">
@@ -202,8 +202,8 @@ runtime deps).
<ul>
<li>5-min path above, plus:</li>
<li><a href="#questions">§2 Seven questions at a glance</a></li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/briefing.md">briefing.md</a> (1 page)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/questions.md">questions.md</a> (the full text of Q1Q7)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/briefing.md">briefing.md</a> (1 page)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/questions.md">questions.md</a> (the full text of Q1Q7)</li>
<li><a href="#use">§4 How to actually use this</a></li>
</ul>
</div>
@@ -212,9 +212,9 @@ runtime deps).
<h3>🔬 60+ minutes — deep dive</h3>
<ul>
<li>20-min path above, plus:</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/phases.md">roadmap/phases.md</a> (full per-phase plan)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/math/hyperideal-hessian-derivation.md">hyperideal-hessian-derivation.md</a> (805-line Schläfli derivation)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/architecture/locked-vs-flexible.md">locked-vs-flexible.md</a> (12 architecture decisions to push back on)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/phases.md">roadmap/phases.md</a> (full per-phase plan)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/math/hyperideal-hessian-derivation.md">hyperideal-hessian-derivation.md</a> (805-line Schläfli derivation)</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/architecture/locked-vs-flexible.md">locked-vs-flexible.md</a> (12 architecture decisions to push back on)</li>
<li><a href="#proof">§6 Quality + test proof points</a></li>
</ul>
</div>
@@ -269,7 +269,7 @@ per-phase entry in <code>doc/roadmap/</code>.</p>
<h2 id="questions">2. Seven questions at a glance <a class="anchor" href="#questions">#</a></h2>
<p>The full text of each question lives in
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/questions.md">questions.md</a>.
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/questions.md">questions.md</a>.
The first two are research-oriented and benefit most from this
specific reader; the rest are scoped so &quot;A / B / either&quot; is a
sufficient answer.</p>
@@ -313,7 +313,7 @@ sufficient answer.</p>
(9d cones + 9d.4 variational Möbius centring / 9e circle-pattern
layout / 10d Koebe circle-domain / 10e quasi-isothermic / 10f
Koebe polyhedra / 10g cyclic-symmetry). See
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/java-parity.md">java-parity.md</a>
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/java-parity.md">java-parity.md</a>
for the reverse table.</li>
<li><span class="pill new">+13 literature citations</span> integrated
into the per-phase roadmap with explicit acceptance criteria.
@@ -372,14 +372,14 @@ auto r = CGAL::discrete_conformal_map_euclidean(
<summary>For adding your own functional or layout — pointer chain</summary>
<ul>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/tutorials/add-inversive-distance.md">add-inversive-distance.md</a>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/tutorials/add-inversive-distance.md">add-inversive-distance.md</a>
— step-by-step recipe for a sixth DCE model, used in real for the existing 9a.2 port.</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/tutorials/block-fd-hessian.md">block-fd-hessian.md</a>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/tutorials/block-fd-hessian.md">block-fd-hessian.md</a>
— per-face block-FD pattern (96× over full-FD).</li>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/tutorials/add-output-uv-map.md">add-output-uv-map.md</a>
<li><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/tutorials/add-output-uv-map.md">add-output-uv-map.md</a>
<code>output_uv_map</code> named parameter + pipe-operator chaining.</li>
<li><b>For your decorated-DCE work specifically</b>: see
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/questions.md#q2--decorated-dce-api-surface-what-would-you-need-from-us-to-use-the-library-for-penner-coordinate-work">Q2 of the reviewer questions</a>
<a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/questions.md#q2--decorated-dce-api-surface-what-would-you-need-from-us-to-use-the-library-for-penner-coordinate-work">Q2 of the reviewer questions</a>
— three candidate API shapes, picking one would let us sketch a prototype in the week after the meeting.</li>
</ul>
@@ -396,9 +396,9 @@ folder for the per-document table.</p>
<table>
<tr><th>Document</th><th>What it covers</th></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/briefing.md"><code>briefing.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/briefing.md"><code>briefing.md</code></a></td>
<td>One-page orientation: research alignments (10-row table), what's new on this snapshot, the seven questions.</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/reviewer/questions.md"><code>questions.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/reviewer/questions.md"><code>questions.md</code></a></td>
<td>Full text of Q1Q7. Q1 lists 6 candidate phases (9d.2 / 9f / 10c+10c / 10e / 10b / 9d.4); Q2 covers the decorated-DCE API surface; Q3Q4 are porting decisions; Q5Q6 project management; Q7 the open invitation to push back.</td></tr>
</table>
@@ -409,13 +409,13 @@ folder for the per-document table.</p>
<table>
<tr><th>Document</th><th>What it covers</th></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/phases.md"><code>phases.md</code></a> <span class="pill new">+6 phases</span></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/phases.md"><code>phases.md</code></a> <span class="pill new">+6 phases</span></td>
<td>Per-phase plan including the 6 new Java-scan phases (9d / 9e / 10d / 10e / 10f / 10g + 9d.4) and the 3 new research-only entries (9d.2 / 9f / 10c).</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/research-track.md"><code>research-track.md</code></a> <span class="pill research">+2 RESEARCH</span></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/research-track.md"><code>research-track.md</code></a> <span class="pill research">+2 RESEARCH</span></td>
<td>Items beyond Java parity, with explicit acceptance criteria: non-Euclidean cone extensions (9d.2), polygon Laplacian on non-triangular meshes (9f), geometry-central cross-validation (GC-1).</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/java-parity.md"><code>java-parity.md</code></a> <span class="pill new">full scan</span></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/java-parity.md"><code>java-parity.md</code></a> <span class="pill new">full scan</span></td>
<td>Reverse table: every class in the Java original, where it lives in our port (or which phase will absorb it), or why it is intentionally not ported (the <i>do-not-port</i> list — Colt, PETSc, jReality wrappers).</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/roadmap/porting-status.md"><code>porting-status.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/roadmap/porting-status.md"><code>porting-status.md</code></a></td>
<td>Operational snapshot: 25 kLoC Java breakdown, 5-DCE-model status matrix, things Java doesn't have.</td></tr>
</table>
@@ -426,9 +426,9 @@ folder for the per-document table.</p>
<table>
<tr><th>Document</th><th>What it covers</th></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/math/references.md"><code>references.md</code></a> <span class="pill new">+13 refs</span></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/math/references.md"><code>references.md</code></a> <span class="pill new">+13 refs</span></td>
<td>Per-phase literature index. 13 new citations added: decorated DCE in non-Euclidean geometries (BobenkoLutz 2025); canonical tessellations (Lutz 2023 / 2024); hyperideal polyhedra rigidity (BowersBowersLutz 2026); polygon Laplacians (AlexaWardetzky 2011 / Alexa 2020); optimal cone placement (Crane et al. 2018); Schläfli identity (RivinSpringborn 1999); hyperbolic polyhedra (Springborn 2019); polyhedral period matrices (BobenkoBücking 2009); integrable cluster dynamics (SpringbornVeselov 2015); BFF (Crane et al. 2017); stripe patterns (Bonneel et al. 2015).</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/math/hyperideal-hessian-derivation.md"><code>hyperideal-hessian-derivation.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/math/hyperideal-hessian-derivation.md"><code>hyperideal-hessian-derivation.md</code></a></td>
<td>Full LaTeX-formatted derivation of the analytic HyperIdeal Hessian via the Schläfli identity (805 lines, 8 sections + 2 appendices). Cited sources: Schläfli 1858, Milnor 1982, Vinberg 1993, ChoKim 1999, Glickenstein 2011, RivinSpringborn 1999, Springborn 2020.</td></tr>
</table>
@@ -439,17 +439,17 @@ folder for the per-document table.</p>
<table>
<tr><th>Document</th><th>What it covers</th></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/architecture/locked-vs-flexible.md"><code>locked-vs-flexible.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/architecture/locked-vs-flexible.md"><code>locked-vs-flexible.md</code></a></td>
<td>12 architecture decisions classified 🔴 load-bearing / 🟡 semi-fixed / 🟢 opportunistic + a "Known limitations" table. Q7 of the reviewer questions points here to push back on anything.</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/architecture/dependencies.md"><code>dependencies.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/architecture/dependencies.md"><code>dependencies.md</code></a></td>
<td>What's required (Eigen + CGAL + Boost headers) vs optional; per-tool install hints; standalone-verification recipe.</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/code/deps/THIRD-PARTY-LICENSES.md"><code>code/deps/THIRD-PARTY-LICENSES.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/code/deps/THIRD-PARTY-LICENSES.md"><code>code/deps/THIRD-PARTY-LICENSES.md</code></a></td>
<td>Per-vendored-dep SPDX with MIT-compatibility analysis (LGPL §3 vs §4 distinction for header-only consumption of CGAL).</td></tr>
<tr><td><a href="doxygen.html">Doxygen HTML</a></td>
<td>259 pages, 0 warnings, 100&nbsp;% public-API coverage (396 / 396 symbols). MathJax enabled for inline formulas.</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/api/headers.md"><code>api/headers.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/api/headers.md"><code>api/headers.md</code></a></td>
<td>Auto-generated table of every public header with brief + symbols; regenerated on every push to main.</td></tr>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/doc/api/tests.md"><code>api/tests.md</code></a></td>
<tr><td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/doc/api/tests.md"><code>api/tests.md</code></a></td>
<td>Per-suite test breakdown (single source of truth). 259 tests, 0 skipped.</td></tr>
</table>
@@ -504,7 +504,7 @@ on a partial dev environment.</p>
<table>
<tr><td>Repo (this snapshot)</td>
<td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/branch/main/">codeberg.org/TMoussa/ConformalLabpp/branch/main</a></td></tr>
<td><a href="https://codeberg.org/TMoussa/ConformalLabpp/src/branch/main/">codeberg.org/TMoussa/ConformalLabpp/branch/main</a></td></tr>
<tr><td>Default branch</td>
<td><a href="https://codeberg.org/TMoussa/ConformalLabpp">codeberg.org/TMoussa/ConformalLabpp (main)</a></td></tr>
<tr><td>Doxygen HTML</td>