Context
HLSCM::ABFPlusPlusAnglePreservation compares ABF+HLSCM output against geometry-only HLSCM on a 20×20 wavy surface. On a nearly-flat mesh, ABF++ may exit after 0–1 iterations (gradient already below threshold), leaving alpha values essentially equal to the geometry angles. In that case the test passes not because ABF optimized angles, but because ABF initialized them slightly differently (uniform clamp vs geometry).
Suggested fix
Use the hemisphere fixture (ConstructHemisphere) or a sphere cap (when issue #48 is resolved) instead — meshes with non-trivial Gaussian curvature where ABF++ always runs multiple iterations and produces measurably optimized angles.
Related
Found during code review of PR #44. See also #48 (sphere cap generator).
Context
HLSCM::ABFPlusPlusAnglePreservationcompares ABF+HLSCM output against geometry-only HLSCM on a 20×20 wavy surface. On a nearly-flat mesh, ABF++ may exit after 0–1 iterations (gradient already below threshold), leaving alpha values essentially equal to the geometry angles. In that case the test passes not because ABF optimized angles, but because ABF initialized them slightly differently (uniform clamp vs geometry).Suggested fix
Use the hemisphere fixture (
ConstructHemisphere) or a sphere cap (when issue #48 is resolved) instead — meshes with non-trivial Gaussian curvature where ABF++ always runs multiple iterations and produces measurably optimized angles.Related
Found during code review of PR #44. See also #48 (sphere cap generator).