1.5 KiB
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.