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

30 lines
1.6 KiB
Markdown

# 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.