Files
FreeCADWasmDev/docs/current/reverseengineering-business-unblock.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

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.