feat: prepare FreeCAD private naming worker linkage
This commit is contained in:
@@ -19,6 +19,35 @@ The build also publishes the JS/WASM pair to
|
||||
clean checkout must run the build after restoring the pinned OCCT source and
|
||||
Emscripten toolchain.
|
||||
|
||||
## FreeCAD private naming build boundary
|
||||
|
||||
The default build is intentionally OCCT-only. It does not export
|
||||
`freecadNamingAbiVersion`, `freecadNamingCapabilitiesJson`, or
|
||||
`freecadNamingEvidenceJson`, and it must not be described as exact FreeCAD
|
||||
naming support.
|
||||
|
||||
A separate fail-closed build lane is available for an actual FreeCAD WASM SDK:
|
||||
|
||||
```bash
|
||||
FREECAD_WASM_SDK_DIR=/absolute/path/to/sdk ./npmw run check:freecad-naming-sdk
|
||||
FREECAD_WASM_SDK_DIR=/absolute/path/to/sdk ./npmw run build:freecad-naming-worker
|
||||
./npmw run check:occt-history-artifact
|
||||
```
|
||||
|
||||
The SDK layout is defined by `freecad-wasm-sdk-manifest.example.json`. The
|
||||
checker requires the locked FreeCAD 1.1.1 commit, Emscripten 3.1.69, wasm Qt
|
||||
and Python targets, private App headers, hashed static FreeCAD/Part/Qt/Python
|
||||
libraries, and a hashed bridge source exporting all three callbacks. If any
|
||||
input is absent, `build:freecad-naming-worker` exits before rebuilding or
|
||||
publishing the OCCT-only artifact. A successful artifact probe still only
|
||||
establishes ABI linkage; exact promotion additionally requires valid
|
||||
MappedNameRef, StringHasher, ElementMap2, stage history, and round-trip evidence.
|
||||
|
||||
The versioned JSON request carries document `objectId`, stable positive
|
||||
`objectTag`, prior naming evidence, result object identity, result tag, stage
|
||||
DAG, STEP/BRep, and OCCT Generated/Modified/Deleted history. No Web fallback is
|
||||
allowed to synthesize a FreeCAD private token.
|
||||
|
||||
The exported `booleanHistory(object, tool, operation)` function supports
|
||||
`fuse`, `cut`, and `common`. It returns the native result shape, per-input
|
||||
`modified`/`generated`/`deleted` records, a validity/topology/quality summary,
|
||||
|
||||
Reference in New Issue
Block a user