docs: Layout2D index semantics, CLI table, CLI roadmap (U9+U10+U11)
Some checks failed
C++ Tests / test-fast (push) Has been cancelled
C++ Tests / test-cgal (push) Has been cancelled
C++ Tests / quality-gates (push) Has been cancelled
API Docs / doc-build (push) Has been cancelled
Markdown link check / check (push) Has been cancelled
C++ Tests / test-fast (pull_request) Successful in 2m10s
C++ Tests / quality-gates (pull_request) Has been skipped
C++ Tests / test-cgal (pull_request) Has been skipped
Some checks failed
C++ Tests / test-fast (push) Has been cancelled
C++ Tests / test-cgal (push) Has been cancelled
C++ Tests / quality-gates (push) Has been cancelled
API Docs / doc-build (push) Has been cancelled
Markdown link check / check (push) Has been cancelled
C++ Tests / test-fast (pull_request) Successful in 2m10s
C++ Tests / quality-gates (pull_request) Has been skipped
C++ Tests / test-cgal (pull_request) Has been skipped
U9 (layout.hpp + example_layout.cpp)
Layout2D.uv and .halfedge_uv now have explicit Doxygen docs stating:
- indexing: v.idx() / h.idx() (raw integer index)
- length: mesh.number_of_vertices() / number_of_halfedges()
- precondition: no vertex removal / collect_garbage() after loading
- access pattern example in the doc comment
example_layout.cpp: access site comment + static_cast<size_t>(v.idx())
U10 (getting-started.md)
New 'CLI parameter reference' table (7 rows) added directly below the
CLI usage examples; cross-references --help as the canonical source
U11 (doc/roadmap/phases.md)
New Phase 9h 'CLI usability extensions' section inserted before Phase 10:
9h.1 --tol / --max-iter solver-tuning params (~30 min, no deps)
9h.2 -g cp_euclidean / -g inversive_distance (~2-4 h, needs 9a ✅)
Each sub-task has effort estimate, implementation sketch, and
acceptance criteria so a future session can pick it up cold.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -287,6 +287,37 @@ mesh type.
|
||||
no new library surface). Effort: small (~2–3 days).
|
||||
```
|
||||
|
||||
9h — CLI usability extensions (infrastructure — no Java equivalent)
|
||||
──────────────────────────────────────────────────────────────────
|
||||
|
||||
Identified by usability-audit-2026-05-31 (Finding-U11). Two independent
|
||||
sub-tasks; either can land independently.
|
||||
|
||||
```
|
||||
9h.1 Newton solver tuning parameters (~30 min)
|
||||
Currently hardcoded in all three run_*() helpers:
|
||||
tol = 1e-8, max_iter = 200
|
||||
Add to conformallab_cli.cpp:
|
||||
app.add_option("--tol", tol, "Newton gradient tolerance [1e-8]");
|
||||
app.add_option("--max-iter", max_iter, "Newton iteration limit [200]");
|
||||
Thread both through run_euclidean / run_spherical / run_hyper_ideal.
|
||||
Update getting-started.md CLI parameter table.
|
||||
Status: 🔲 planned. Effort: ~30 min. No dependencies.
|
||||
|
||||
9h.2 Phase-9a models in CLI (~2–4 hours)
|
||||
The CP-Euclidean and Inversive-Distance functionals are fully
|
||||
implemented in the library and exposed via the CGAL public API
|
||||
(Discrete_circle_packing.h, Discrete_inversive_distance.h), but
|
||||
a CLI user cannot reach them. Add:
|
||||
-g cp_euclidean → run_cp_euclidean()
|
||||
-g inversive_distance → run_inversive_distance()
|
||||
Following the existing run_euclidean() pattern (~60 lines each).
|
||||
Add both geometry strings to the CLI::IsMember validator.
|
||||
Update README + getting-started.md parameter table.
|
||||
Status: 🔲 planned. Effort: ~2–4 h. Requires: 9a complete ✅.
|
||||
Java reference: none (both functionals are research / literature ports).
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ◼ New research directions — Phases 10d–10g (2026 library scan)
|
||||
|
||||
Reference in New Issue
Block a user