The discrete Frechet primitive (Frahan.EdgeMatching.FrechetDistance) and the standalone Edge Gap (Frechet) component shipped in 0.1.0-alpha. The follow-up (R1 of wiki/research/edge_matching_theory_vs_implementation.md): expose an OPTIONAL Max Ordered Gap input + Ordered Gap output on Block Pair Match 3D / Whole-Side Assemble, gating accepted pairs on the ordered worst-case gap (a max, order-respecting - strictly stronger than the mean/Hausdorff residuals used today).
Constraints: appended optional inputs (default off = byte-identical), GUIDs unchanged; examples 42/48 must be re-validated (their baked results may legitimately change when the gate is enabled - keep it default-off).
Done when: metadata tests updated, battery green, a canvas A/B shows the gate rejecting a reversed/folded match that residuals accept. Size: M.
The discrete Frechet primitive (
Frahan.EdgeMatching.FrechetDistance) and the standaloneEdge Gap (Frechet)component shipped in 0.1.0-alpha. The follow-up (R1 of wiki/research/edge_matching_theory_vs_implementation.md): expose an OPTIONALMax Ordered Gapinput +Ordered Gapoutput on Block Pair Match 3D / Whole-Side Assemble, gating accepted pairs on the ordered worst-case gap (a max, order-respecting - strictly stronger than the mean/Hausdorff residuals used today).Constraints: appended optional inputs (default off = byte-identical), GUIDs unchanged; examples 42/48 must be re-validated (their baked results may legitimately change when the gate is enabled - keep it default-off).
Done when: metadata tests updated, battery green, a canvas A/B shows the gate rejecting a reversed/folded match that residuals accept. Size: M.