Point-and-click edit codemods rebuild operation calls while changing parameters. If selection recovery returns the wrong value, editing something unrelated such as a length, radius, or angle can silently retarget the operation.
At the shared call-replacement boundary, compare each recovered selection with the existing one. If it is missing or points to different geometry, keep the existing selection and apply only the non-selection edits. This should cover unlabeled inputs and labeled selection arguments without changing creation flows.
The comparison needs to account for equivalent representations: explicit axis choices must still work, and valid pipe-relative edge rewrites must be allowed.
Acceptance criteria:
- Non-selection edits never retarget geometry.
- The behavior is shared across edit codemods.
- Existing axis and edge-treatment behavior remains unchanged.
True selection edits remain out of scope until edits support rollback.
Related: #12541 introduced the existing null fallback for failed unlabeled reconstruction.
Point-and-click edit codemods rebuild operation calls while changing parameters. If selection recovery returns the wrong value, editing something unrelated such as a length, radius, or angle can silently retarget the operation.
At the shared call-replacement boundary, compare each recovered selection with the existing one. If it is missing or points to different geometry, keep the existing selection and apply only the non-selection edits. This should cover unlabeled inputs and labeled selection arguments without changing creation flows.
The comparison needs to account for equivalent representations: explicit axis choices must still work, and valid pipe-relative edge rewrites must be allowed.
Acceptance criteria:
True selection edits remain out of scope until edits support rollback.
Related: #12541 introduced the existing null fallback for failed unlabeled reconstruction.