forked from 1b-agent/fieldcraft-upstream
relax::move_weights gives each node its share of a displacement (the grabbed nodes all of it, the nodes within the radius strength x falloff, or the harmonic function of the element-edge graph, zero beyond the radius and at held nodes); relax::move_nodes applies it as the relaxation's constraints let each node move (faces in UV, edges along, vertices held), scaled back by bisection until no valid element inverts, and reports each element's scaled Jacobian before and after. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo