Skip to content

Evaluate relaxing node_straddles containment now that on_minor_arc is SoS-hardenedΒ #90

Description

@espg

πŸ€– from Claude

Tracking follow-up β€” awaiting triage. No action label applied yet; leaving label/triage to the maintainer.

Context

PR #87 (Refs #78) made robust_crossing's antipodal-disambiguation step on_minor_arc exactly SoS-hardened: each wedge sign is now decided on a canonical, identity-sorted evaluation with an identity-keyed symbolic perturbation tie-break, so the predicate is total and reorder-invariant with no residual f64 sign sensitivity at endpoint coincidence.

Before that change, the caveat at src_rust/src/coverage.rs:442 noted that boundary cells affected by on_minor_arc's residual float sensitivity were caught by the node_straddles over-refinement safety net β€” such cells are refined (descended into) rather than filled whole. Now that the disambiguation is exact, that safety net may be loosenable: some cells the descent currently over-refines for safety might be safely fillable, reducing output size / work.

Recommendation

Measure before changing behavior. Specifically:

  1. Quantify the over-refinement node_straddles currently causes (count of cells refined-not-filled attributable to the old on_minor_arc sensitivity, across representative polygons) before touching descent/containment.
  2. Only then decide whether/how to relax the containment, with the measurement as the baseline to confirm no coverage correctness regression.

Do not change descent/containment behavior blind β€” the current over-refinement is conservative-correct, so any relaxation must be justified by a measured win and guarded by tests.

Refs #87
Refs #78

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions