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.