# Upstream CAD source modifications

Date is the source snapshot commit date, not a claim that every patch originated on that day. Patches applied to scratch for ledger only; no distributed binary was rebuilt.

Source snapshot: `ebd263f15337b440b391492af073662707e86482` (2026-08-02T23:32:11Z).

OCCT patches preserve existing copyright/license headers. The noexcept destructor and STEPCAF patches insert OCJS change markers/explanations; using-statement and Standard_Dump patches do not consistently insert a prominent modification notice. None of the four OCCT patches adds a change date. libembind patch adds explanatory OCJS comments but no general dated change notice. This ledger records source-history dates, not proof of the date an upstream binary was built.

| OCCT file | Patch script | Last patch-script change (UTC) |
| --- | --- | --- |
| `src/ModelingAlgorithms/TKBO/BRepAlgoAPI/BRepAlgoAPI_Algo.hxx` | `patch_using_statements.py` | 2026-07-29T05:18:02Z (`fa32a6d29ddf6fd4d56d9592f39140e29aef38ed`) |
| `src/ModelingAlgorithms/TKFillet/BlendFunc/BlendFunc_ChamfInv.hxx` | `patch_using_statements.py` | 2026-07-29T05:18:02Z (`fa32a6d29ddf6fd4d56d9592f39140e29aef38ed`) |
| `src/ModelingAlgorithms/TKFillet/BlendFunc/BlendFunc_ConstThroatInv.hxx` | `patch_using_statements.py` | 2026-07-29T05:18:02Z (`fa32a6d29ddf6fd4d56d9592f39140e29aef38ed`) |
| `src/ModelingAlgorithms/TKGeomAlgo/IntCurve/IntCurve_IntConicConic.lxx` | `patch_using_statements.py` | 2026-07-29T05:18:02Z (`fa32a6d29ddf6fd4d56d9592f39140e29aef38ed`) |
| `src/FoundationClasses/TKernel/Standard/Standard_Dump.hxx` | `patch_standard_dump.py` | 2026-03-06T04:57:21Z (`a4af3c299ec3d5634a7a8e6c5d5999dbfd0fbdc6`) |
| `src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_ActorWrite.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_ActorWrite.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/FoundationClasses/TKernel/Resource/Resource_Manager.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/FoundationClasses/TKernel/Resource/Resource_Manager.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKBO/BOPAlgo/BOPAlgo_CheckerSI_1.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_NSections.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKBool/BRepFill/BRepFill_NSections.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKFillet/BRepBlend/BRepBlend_Line.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKFillet/BRepBlend/BRepBlend_Line.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKMesh/BRepMeshData/BRepMeshData_Edge.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKMesh/BRepMeshData/BRepMeshData_Edge.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKOffset/BRepOffsetAPI/BRepOffsetAPI_ThruSections.cxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/ModelingAlgorithms/TKOffset/BRepOffsetAPI/BRepOffsetAPI_ThruSections.hxx` | `patch_noexcept_destructors.py` | 2026-05-21T22:38:00Z (`cf7d0b3710c14b4ba4171ac488ad7d7fd7102538`) |
| `src/DataExchange/TKDESTEP/STEPCAFControl/STEPCAFControl_Controller.cxx` | `patch_stepcaf_dyntype.py` | 2026-08-02T23:32:11Z (`ebd263f15337b440b391492af073662707e86482`) |

The Emscripten file `src/lib/libembind.js` is replaced from the supplied pristine snapshot and changed by `src/patches/libembind-overloading.patch`, last changed at `fa32a6d29ddf6fd4d56d9592f39140e29aef38ed` (2026-07-29T05:18:02Z). Both before/after hashes matched upstream recorded SHA256 values during this review.

All four OCCT patch scripts applied successfully to the exact pristine OCCT commit during this review; 19 files changed. A full WASM rebuild was not performed.
