release: v0.9.0 — finalise PR #11 with CHANGELOG, version bump, stub cleanup
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:
@@ -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.**
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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**.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user