Files
FreeCADWasmDev/docs/current/surface-business-boundaries.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

1.4 KiB

Surface batch e51ae4993da027347427016b

Added the missing business contract and executable cases for the two selected IDs. Build, synchronization and acceptance execution remain owned by the outer pipeline. No business result is claimed by this edit.

Remaining create/edit/recompute boundary: surface-facade.ts accepts only the fixed 10x10x10 and 4x4x4 operands. The changed 2x3x4 operand case deliberately requires success and will fail with the existing invalid_fixture error. The current native action creates and closes a temporary document on every request. Persistent object editing, dependency recomputation and measured geometry before/after the edit are still required; successful fixture counts alone must not close that workflow. When implementing this path, extend the cases with native geometry measurements and stable document/object identity, using the existing Surface::Cut implementation.

The object-contract cases cover the existing native Surface::Sections type, NSections property, view-provider name, recompute, unknown-record rejection and document cleanup. They do not claim section geometry creation or GUI editing. The desktop declaration is src/Mod/Surface/App/FeatureSections.h.

The shared Node WASM loader and current TypeScript facades are reused. Reports retain actual inputs, outputs and failed assertions, and honor FREECAD_BUSINESS_IDS. No native implementation, runtime artifact or acceptance ledger was changed.