Files
FreeCADWasmDev/docs/current/PART_MAKE_FACE_PROGRESS.md

38 lines
2.2 KiB
Markdown

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