release: v0.9.0 — finalise PR #11 with CHANGELOG, version bump, stub cleanup
Some checks failed
C++ Tests / test-fast (pull_request) Successful in 2m25s
API Docs / doc-build (pull_request) Successful in 53s
C++ Tests / test-cgal (pull_request) Failing after 10m32s

Closes the v0.9.0 release loop on top of Phase 9a-Newton + Phase 8b-Lite:

* CHANGELOG.md (NEW) — Keep-A-Changelog format, with v0.9.0 entry
  detailing all Phase 9a / 9b / 8b-Lite contents and the doc-audit
  corrections that landed via PR #10.

* CITATION.cff — version 0.7.0 → 0.9.0, date 2026-05-18 → 2026-05-22.

* Stale HDS-port stubs removed (13 GTEST_SKIPs total):
  - code/tests/test_spherical_functional.cpp
  - code/tests/test_hyper_ideal_functional.cpp
  - code/tests/test_hyper_ideal_hyperelliptic_utility.cpp
  These referenced a "HDS port (Phase 4)" that never happened —
  CoHDS was intentionally replaced by CGAL::Surface_mesh, and the
  functional tests live in code/tests/cgal/test_*_functional.cpp.

* Test-count updates everywhere:
  - Non-CGAL  36 → 23  (drop = 13 deleted stubs)
  - CGAL      176 → 227
  - Total     212 → 250  (+38 net, 0 skipped)
  Files: README.md, CLAUDE.md, CHANGELOG.md, scripts/try_it.sh,
         doc/api/tests.md, doc/contributing.md, doc/getting-started.md,
         doc/math/validation.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Tarik Moussa
2026-05-22 04:25:59 +02:00
parent b26368924b
commit 540f71a629
13 changed files with 180 additions and 125 deletions

View File

@@ -14,7 +14,7 @@ Pure-math tests, only Eigen required. Covers Java utilities ported in Phase 1
| `test_p2_utility.cpp` | P2 projective utilities |
| `test_hyper_ideal_visualization_utility.cpp` | Poincaré disk projection, circumcircle |
**Total: 36 tests, 0 skipped.**
**Total: 23 tests, 0 skipped.**
---
@@ -59,7 +59,7 @@ All tests have CTest prefix `cgal.` (set via `TEST_PREFIX "cgal."` in CMakeLists
| `HomologyGenerators` | `test_geometry_utils.cpp` | 1 | Genus-2 cut graph: χ = 2, 4 cut edges (`brezel2.obj`) |
| `SmokeEuclidean` | `test_scalability_smoke.cpp` | 3 | Smoke tests on real meshes: CatHead (open), Brezel genus-1, Brezel2 genus-2 |
**Total: 176 tests, 0 skipped.**
**Total: 227 tests, 0 skipped.**
---

View File

@@ -29,8 +29,8 @@ Two jobs run on push to `dev`/`main` or on pull requests:
| Job | What it tests | Trigger |
|---|---|---|
| `test-fast` | 36 non-CGAL tests, no Boost | all branches |
| `test-cgal` | 176 CGAL tests, 0 skipped | `main`, `dev`, PRs only |
| `test-fast` | 23 non-CGAL tests, no Boost | all branches |
| `test-cgal` | 227 CGAL tests, 0 skipped | `main`, `dev`, PRs only |
A PR is ready to merge when both jobs pass.
@@ -51,7 +51,7 @@ Every new algorithm needs:
3. **Registration** — add the `.cpp` file to `code/tests/cgal/CMakeLists.txt`.
Expected CI result: **36 + 176 tests pass, 0 skipped**.
Expected CI result: **23 + 227 tests pass, 0 skipped**.
---

View File

@@ -48,7 +48,7 @@ cmake --build build --target conformallab_tests -j$(nproc)
ctest --test-dir build --output-on-failure
```
Expected: **36 tests pass**.
Expected: **23 tests pass**.
### Mode 2 — CGAL tests, headless (recommended for CI and development)
@@ -60,7 +60,7 @@ cmake --build build --target conformallab_cgal_tests -j$(nproc)
ctest --test-dir build -R "^cgal\." --output-on-failure
```
Expected: **176 tests pass, 0 skipped**.
Expected: **227 tests pass, 0 skipped**.
### Mode 3 — Full local build (CLI app + interactive viewer)
@@ -146,7 +146,7 @@ sets x* = 0, so a small perturbation (-0.05) needs only one Newton step.
bash scripts/try_it.sh
```
This clones nothing (run from inside the repo), builds the CGAL test suite, runs
all 176+36 tests, and prints a summary. See `scripts/try_it.sh` for details.
all 227+23 tests, and prints a summary. See `scripts/try_it.sh` for details.
---

View File

@@ -14,7 +14,7 @@ cmake --build build --target conformallab_cgal_tests
ctest --test-dir build -R cgal --output-on-failure
```
All 176 tests pass, 0 skipped (see `doc/api/tests.md`).
All 227 tests pass, 0 skipped (see `doc/api/tests.md`).
---
@@ -252,7 +252,7 @@ implemented in conformallab++ (→ GC-2 in the phase roadmap).
Run these in order to validate the implementation:
- [ ] `ctest --test-dir build -R cgal --output-on-failure`176 tests pass, 0 skipped
- [ ] `ctest --test-dir build -R cgal --output-on-failure`227 tests pass, 0 skipped
- [ ] `cgal.GaussBonnet.*` all pass → topology is correctly read from mesh
- [ ] `cgal.EuclideanFunctional.GradientCheck_*` pass → energy = integral of gradient
- [ ] `cgal.PeriodMatrix.TauInFundamentalDomain_*` pass → SL(2,) reduction correct