Files
FreeCADWasmDev/docs/current/PART_CHECK_GEOMETRY_PROGRESS.md

36 lines
2.2 KiB
Markdown

# Part Geometry Inspection
2026-09-16. `Part:desktop:Part_CheckGeometry` has 15 passing business scenarios.
Evidence: `business-evidence/1c913eb1eb4e6bdaa6fbc483-20260916T090029125454.json`.
After both Part native owners were synchronized, the shared Part regression
passed all 29 declared requirements. The refreshed geometry proof is in
`business-evidence/ebbe995a45fbf3ef152968ec-20260916T090911362456.json`.
The native DocumentProbe resolves selected current-document Part features,
deduplicates objects, and uses the supplied `Part::TopoShape::analyze` and OCCT
BREP/BOP checks. Results contain actual diagnostics and topology counts.
Covered behavior includes multiple objects, a valid solid, a crossed invalid
face, overlapping solids that pass BREP analysis but fail BOP self-intersection
analysis, null shapes, invalid references and modes, cross-document rejection,
dirty-shape preservation, unchanged BREP digests and undo/redo state, and FCStd
restoration followed by further editable transactions. Read, check and close
use read-only native actions and do not recompute the document.
The mounted React task supports object selection and the optional BOP mode.
Desktop/mobile screenshots show the native diagnostic table. Browser cases
close and reopen the task and repeat inspection using one downloaded WASM and
one Worker. The final run took 10.369 seconds; an unchanged repeat took 0.156
seconds, reused one evidence report and executed zero cases.
The first BOP smoke test exposed a synchronous WASM thread-pool stall.
`TopoShape.cpp` now disables BOP parallel execution under Emscripten; desktop
parallel settings remain unchanged. Native checks complete without waiting for
additional pthreads. The initial browser failure was a test selector targeting
the desktop matrix for a service endpoint; the corrected selector uses the
existing service list. Both failed attempts remain available for audit.
DocumentProbe incremental build, TypeScript, geometry ownership checks and the
production frontend build passed. This requirement does not cover healing,
arbitrary mesh validation or other Part operations. All 1508 requirements stay
in scope; executable coverage and current accepted evidence are separate counts.