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

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.