30 lines
1.6 KiB
Markdown
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.
|