Files
FreeCADWasmDev/docs/current/points-obj-cleanup-recovery.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.6 KiB

Points OBJ cleanup recovery

Batch: 8f64f608624b040ed5c3f935 Selected business ID: business-format:Points:export:.obj

The reported first error was an unavailable kernel.FS.analyzePath call in tools/points-business-cases.mjs:150. Cleanup now calls FS.unlink directly, ignores only missing files, attempts every tracked path, and retains an earlier export failure alongside unexpected cleanup failures.

Existing native export, facade dispatch, and assertions inspecting actual OBJ vertices remain in use. No native behavior or business result is replaced.

The next outer run exposed the original export failure as well as a cleanup failure. Local AppPointsPy.cpp:323 confirms that Points.export accepts only ASC, PLY and PCD, and throws for OBJ. The Web native export handler now writes OBJ vertices from selected current native point clouds with their global placements, validates all selected types before opening the file, and commits the output atomically. An explicit document argument resolves that document. Other formats continue through the existing desktop exporter.

Cleanup now uses the native fc_web_points_remove_export entry, avoiding unavailable JS filesystem methods. Only successful removal or native ENOENT is tolerated, and earlier business failures remain visible.

Remaining boundary: the outer pipeline must incrementally build and sync FreeCADWebPointsRuntimeProbe, run the selected business case, and record its actual result. Build and business acceptance have not been run in this turn; no issue or historical failure is claimed resolved without that evidence.