Bump to OCCT 8.0.1
Four mechanical binding edits; the bound Python surface is unchanged (sigdiff compared the 7.9.3.1 dump against 8.0.1.1's in both directions and found no class, member or constructor arity moved), so the app needs no change. - NCollection_Utf8String is gone; NCollection_String is the same UTF-8 type. Python name kept, since the app imports it. - Standard_Failure lost its Standard_Transient RTTI when it moved to deriving std::exception; ExceptionType() replaced DynamicType()->Name() and returns the same class names the exception dispatch keys on. - FindKey gained a size_t overload beside the int one, so the plain member pointer is ambiguous; overload_cast picks the int form, which keeps the negative-index guard. - StdPrs moved from TKService to TKV3d, so CMakeLists links both. The byte-identity fixtures did NOT retire, contrary to the watchlist: all six round-trip to the same digests under the new kernel, as do the measurement, history and mesh-count blocks, so tests/data is untouched and the app's content-addressed BREP payloads stay valid. Gates: binding suite 83 passed, 138/138 symbols, sigdiff clean both directions, ASAN clean, app suite 1798 passed / 1 skipped (unchanged), sweep over 4486 parts with anchors_digest and every status unchanged, -m perf 16% faster on the 32-feature chain.
This commit is contained in:
@@ -6,7 +6,7 @@ and (for publishing) `uv`.
|
||||
|
||||
## The builder image
|
||||
|
||||
`occt/Dockerfile` compiles OCCT 7.9.3 once inside
|
||||
`occt/Dockerfile` compiles OCCT 8.0.1 once inside
|
||||
`quay.io/pypa/manylinux_2_28_x86_64` (both the base digest and the source
|
||||
tarball's sha256 are pinned) and installs it to `/opt/occt`.
|
||||
|
||||
@@ -66,7 +66,15 @@ cd ../app && .venv/bin/python ../ocp/tools/gen_fixtures.py
|
||||
|
||||
The generator asserts stock is idempotent for each fixture before recording its
|
||||
digest — otherwise the gate would compare against a moving target. Regenerate
|
||||
only when deliberately re-blessing (e.g. the OCCT 8.0 bump).
|
||||
only when deliberately re-blessing.
|
||||
|
||||
The OCCT 8.0.1 bump was expected to be such an occasion and turned out not to
|
||||
be: every fixture round-tripped to the same digest under the new kernel, as did
|
||||
the measurement, history and mesh-count blocks, so `tests/data/` was left
|
||||
untouched. Do not assume the next bump re-blesses either — run the gate first
|
||||
and let it say. Note also that the generator needs a wheel carrying more of
|
||||
OCCT than this binding exposes (it is written against the stock wheel), so
|
||||
regenerating is not currently possible from the app's own venv.
|
||||
|
||||
## Publishing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user