27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
# ReverseEngineering create/recompute repair
|
|
|
|
Batch: `412be33d86b5291b70f03ddd`
|
|
Selected capability: `ReverseEngineering:reverseengineering.createRecompute`.
|
|
|
|
The reported first failure was `ModuleNotFoundError: No module named 'json'`
|
|
in the native create/recompute handler. The handler now transfers Qt-parsed
|
|
request values through the Python C API and serializes the actual Python reply
|
|
dictionary through Qt. Finite-coordinate validation uses Python builtins, so
|
|
this transport path also needs no `math` module. Conversion errors return
|
|
`create_failed`; temporary Python references are released.
|
|
|
|
Reused implementation: `freecad-source/src/WebAssembly/FreeCADCoreProbe/ReverseEngineeringRuntimeProbe.cpp`,
|
|
including `ReverseEngineering.approxCurve(points).toShape()`, retained FreeCAD
|
|
documents and objects, transactions, recompute, and native shape validation.
|
|
The existing create facade and `tools/reverseengineering-business-cases.mjs`
|
|
remain the selected interface and business checks. Geometry still comes from
|
|
the existing FreeCAD/OCCT runtime.
|
|
|
|
Remaining boundary: the outer pipeline must incrementally build
|
|
`FreeCADWebReverseEngineeringRuntimeProbe`, synchronize matching artifacts,
|
|
and execute the selected business contract. No build, sync, or business
|
|
acceptance was performed in this edit batch, and no passing business result
|
|
is claimed. Browser document synchronization and surface fitting remain
|
|
outside the selected contract. Any subsequent native fitting or recompute
|
|
failure must be resolved from its actual diagnostic.
|