docs(#532): record the upstream filing for patch 0020 - #775
Conversation
Filed as Open-Cascade-SAS/OCCT#1447. PR only, no companion issue, per okf/policies/upstream-occt-style.md and the precedent of 0018, 0019, 0021 and 0024: the fix was ready, so the PR description carries the repro and root cause a standalone issue would have. Re-verified the defect directly against current upstream master before filing, rather than trusting the V8_0_0_p1-based measurement in the existing writeup: read all four call sites and the two correct callers on master, then compiled BRepFeat_MakeCylindricalHole.cxx from master as an override translation unit, once unmodified and once with patch 0020 applied, and ran the existing Scripts/repro/532-cylindrical-hole-part-selection/ probe against both, linked ahead of the pinned OCCT 8.0.1 archive. The unmodified build reproduces every figure the original writeup reports as "before", including the oversized-radius InvalidPlacement status; the patched build reproduces every "after" figure. The touched file is byte-identical between master and our pin.
|
The deviation was correct and my dispatch instruction was wrong. Recording that here so the reasoning I asked for an issue and a PR, "following the repro-then-fix pairing our other filings use", while in
My sentence described the practice that policy exists to retire. Verified independently: the policy The right outcome, and worth naming because the default is the other way. An instruction in a prompt The re-verification is the strong partNot a text diff against So "still live on master" is measured against a running binary rather than inferred from a hash, which OCCT#1447 is 4 lines across one file, four |
What & why
Housekeeping for #532: patch
0020(BRepFeat_MakeCylindricalHoletool part selection) has beencarried since PR #587 but was never filed upstream. #657's audit (PR #737) confirmed it was ready
to send and drafted the text; this PR does the actual filing and records the result.
Re-verified the defect directly against current upstream
master, not just theV8_0_0_p1baseline the original measurement used: read all four affected call sites and the two correct
callers (
BRepFeat_Form,BRepFeat_RibSlot) onmaster, then compiledBRepFeat_MakeCylindricalHole.cxxfrommasteras an override translation unit, once unmodifiedand once with patch
0020applied, and ran the existingScripts/repro/532-cylindrical-hole-part-selection/probe against both, linked ahead of the pinned OCCT 8.0.1 archive. The unmodified build reproduces
every figure the existing writeup records as "before", including the oversized-radius
InvalidPlacementstatus; the patched build reproduces every "after" figure. The touched file isbyte-identical between
masterand our pin, so this is the same change on both.Filed as Open-Cascade-SAS/OCCT#1447: a fix PR
with no companion repro issue, per
okf/policies/upstream-occt-style.mdand the precedent of0018,0019,0021and0024(an OCCT maintainer's own comment onOCCT#1409 asked
contributors not to open a separate issue when a fix is already in hand).
This PR touches only
CLAUDE.mdandScripts/patches/README.md. No source, test, or public APIchange;
docs/CHANGELOG.mdanddocs/SEMVER.mdare untouched perokf/policies/changelog-on-merge.mdandokf/policies/semver-at-release.md(entries below instead).Not closing #532: the issue itself was closed by PR #587 when the fix was carried; this is a
follow-up on the separate, still-open upstream-filing housekeeping in #657.
CHANGELOG entry
Carried patch
0020(#532,BRepFeat_MakeCylindricalHoletool part selection) is now filed upstream as OCCT#1447Re-verified the defect directly against current upstream
masterbefore filing: the four affectedcall sites, the two correct callers in the same builder, and the second, unfixed defect in the same
heuristic are all unchanged from the
V8_0_0_p1-based measurement this patch was originally builtagainst, and the touched file is byte-identical between
masterand our pin. Confirmed by compilingBRepFeat_MakeCylindricalHole.cxxfrommasteras an override translation unit, once unmodifiedand once patched, and running the existing reproducer against both: every "before" and "after"
figure in the original writeup reproduces exactly, including the oversized-radius status change.
Filed as Open-Cascade-SAS/OCCT#1447, PR only
per
okf/policies/upstream-occt-style.md. No change to OCCTSwift's own behavior or public API.SemVer impact
NONE. Documentation only (
CLAUDE.md,Scripts/patches/README.md); no source, test, or public APIchange. The upstream PR proposes a change to OCCT itself, not to this package.
Checklist
--self-testcase in this PR.docs/CHANGELOG.mdis not in this diff.docs/SEMVER.mdis not in this diff.Notes for the reviewer
--self-tests pass locally (check-bridge-index18/18,check-null-handle-guards24/24,check-docs-defaults13/13,derive-bridge-header-split --verify8/8,count-operationsconsistent at 4306), as expected for a docs-only change.result") rather than only what it does, and its body gained a short footnote explaining the
PerformBlind(20)figure (1178.0972, measured from the axis origin rather than the plate'sentry face), matching a clarification already present in Ten upstream OCCT PRs now sit on a pre-8.0.1 base, and patch 0020 was never filed at all #657's drafted text.