P1: Quick wins (CLI + quality measures + stereographic) #44
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/p1-quick-wins"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Phase-Session P1: Quick Wins (Haiku → Opus review)
Four independent additions to conformallab++, all with well-specified acceptance criteria and no new mathematics:
9h.1 — Newton solver CLI parameters
--tol(default 1e-8) and--max-iter(default 200) options to conformallab_core9h.2 — Phase 9a models in CLI
-g cp_euclideanand-g inversive_distancegeometry routesrun_cp_euclidean()andrun_inversive_distance()pipelines (~60 lines each)9g.1 — Conformal quality measures
conformal_quality.hppwith five measure typesplugin/visualizer/+convergence/utilities9d.3 — Stereographic layout for spheres
stereographic_layout.hppstereographic_layout(Layout3D) → Layout2Dconversion functionunwrapper/StereographicUnwrapper.java(266 LoC)Build & test
Result: 336/336 CGAL tests pass
Acceptance checklist
Generated with Claude Code
Implement Phase-Session P1 quick wins (4 independent additions): 9h.1: Add --tol and --max-iter CLI options to conformallab_core - Newton solver tolerance [default 1e-8] - Newton iteration limit [default 200] - Thread both through run_euclidean / run_spherical / run_hyper_ideal - Update CLI parameter table in documentation 9h.2: Add -g cp_euclidean and -g inversive_distance geometry routes - run_cp_euclidean() & run_inversive_distance() pipelines (~60 lines each) - Face-based DOF assignment for CP-Euclidean - Vertex-based DOF assignment for Inversive-Distance - Both integrated into CLI geometry validator (IsMember) 9g.1: Create conformal_quality.hpp with validation measures - IsothermicityMeasure: metric anisotropy (conformality deviation) - DiscreteConformalEquivalenceMeasure: length-cross-ratio residuals - FlippedTriangles: detects inverted/degenerate triangles - LengthCrossRatio: discrete conformal invariant computation - ConvergenceUtility: aggregated convergence statistics (max/mean/sum) - Ported from Java: plugin/visualizer + convergence utilities - Includes sanity tests validating finite outputs on valid layouts 9d.3: Create stereographic_layout.hpp for S² → ℂ projection - Stereographic projection from north pole: S² → ℂ ∪ {∞} - Inverse projection: ℂ → S² for round-trip validation - Möbius centring: centres the 2-D point cloud at origin - stereographic_layout(Layout3D) -> Layout2D conversion - Round-trip tests: south pole, equator, random sphere points - Tests: projection/inverse consistency, north pole handling Test results: 336/336 CGAL tests pass (272 pre-existing + 64 new from all phases) - conformal_quality.cpp: 13 new tests (measures, isothermic, dce, convergence) - stereographic_layout.cpp: 10 new tests (projection, inverse, round-trip, layout) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>1375878– CLI, quality, stereographic)1375878– CLI, quality, stereographic)Implement Phase-Session P1 quick wins (4 independent additions): 9h.1: Add --tol and --max-iter CLI options to conformallab_core - Newton solver tolerance [default 1e-8] - Newton iteration limit [default 200] - Thread both through run_euclidean / run_spherical / run_hyper_ideal - Update CLI parameter table in documentation 9h.2: Add -g cp_euclidean and -g inversive_distance geometry routes - run_cp_euclidean() & run_inversive_distance() pipelines (~60 lines each) - Face-based DOF assignment for CP-Euclidean - Vertex-based DOF assignment for Inversive-Distance - Both integrated into CLI geometry validator (IsMember) 9g.1: Create conformal_quality.hpp with validation measures - IsothermicityMeasure: metric anisotropy (conformality deviation) - DiscreteConformalEquivalenceMeasure: length-cross-ratio residuals - FlippedTriangles: detects inverted/degenerate triangles - LengthCrossRatio: discrete conformal invariant computation - ConvergenceUtility: aggregated convergence statistics (max/mean/sum) - Ported from Java: plugin/visualizer + convergence utilities - Includes sanity tests validating finite outputs on valid layouts 9d.3: Create stereographic_layout.hpp for S² → ℂ projection - Stereographic projection from north pole: S² → ℂ ∪ {∞} - Inverse projection: ℂ → S² for round-trip validation - Möbius centring: centres the 2-D point cloud at origin - stereographic_layout(Layout3D) -> Layout2D conversion - Round-trip tests: south pole, equator, random sphere points - Tests: projection/inverse consistency, north pole handling Test results: 336/336 CGAL tests pass (272 pre-existing + 64 new from all phases) - conformal_quality.cpp: 13 new tests (measures, isothermic, dce, convergence) - stereographic_layout.cpp: 10 new tests (projection, inverse, round-trip, layout) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>