Files
FreeCADWasmDev/docs/current/PART_MAKE_FACE_PROGRESS.md

2.2 KiB

Face From Wires

2026-09-16. Part:desktop:Part_MakeFace passed first formal acceptance: 21 scenario records in 21.097 seconds. Evidence: business-evidence/87276e2457462c11caaefd64-20260916T120840738517.json.

The existing DocumentProbe now creates a persistent native Part::Face with deduplicated Sources, following CmdPartMakeFace in Part/Gui/Command.cpp. The supplied FaceMakerBullseye performs geometry construction. No JS geometry algorithm or temporary BREP substitute is used. The operation participates in the existing native transaction and recompute/rollback path. Responses include the face maker and source links, validated by the document facade.

Cases cover a simple outline, a hole, a nested island, disconnected outlines and a compound of nested wires. They verify native feature identity, expected areas and face counts, source preservation, unique names, undo/redo, document isolation, invalid/missing sources, open/null/non-shape input, active task and overwrite rejection. Moving/resizing source wires recomputes dependent faces. FCStd preserves the native type and links and permits further source edits.

The mounted task supports multiple source objects, face creation, undo/redo, FCStd opening and OPFS saving. Browser cases create a hole face, save, reload, reopen and create another face. Desktop/mobile screenshots and nonblank canvas checks include rotation interaction. TypeScript, DocumentProbe incremental build and the production frontend build passed. Only the new requirement ran; old-item validation remains paused by user direction.

Two initial fixture failures exposed non-coplanar source placements after the fixture moved only some linked wires, then replaced a Shape without restoring its Placement. The corrected edit fixture preserves placement as native FreeCAD requires. Earlier failure diagnostics remain in part-make-face-business/.

At completion of this batch, executable coverage is 175/1508, leaving 1333 requirements without declared executable cases. This is coverage, not a claim that all historical proof is current. Healing, nonplanar face construction and other Part commands are separate requirements. No dependency download was needed; future downloads may use domestic sites under the user's latest authorization.