Files
FreeCADWasmDev/docs/current/partdesign-additive-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

30 lines
1.8 KiB
Markdown

# Selected PartDesign batch cb05056ccc76c71428dfe387
Implemented document-handler branches for AdditiveHelix, AdditiveLoft,
AdditivePipe and Boolean using the supplied native FreeCAD feature classes.
The existing workbench-shell / DesktopCommandDispatcher / PartDesign adapter /
document facade / Worker path is reused. No replacement geometry backend is used.
Inputs: Helix uses profile, body-origin axis, pitch, height and leftHanded
(pitch-height-angle mode, zero cone angle); Loft uses profile, sections, ruled
and closed; Pipe uses profile, spine and optional spineEdges with native default
orientation and transition; Boolean uses external tools and Fuse/Cut/Common.
All changes use existing document transactions and native recompute. Native
feature output must contain a valid solid before commit.
The new additive business script is wired into the existing acceptance entry
and the four IDs are declared covered by cases, not accepted. Cases invoke the
real Worker through the desktop adapter and check geometry, editing, rejection,
FCStd reopen and selection. Loft and Boolean include analytic volume checks.
Remaining boundaries: build, synchronization and all runtime/business acceptance
belong to the outer pipeline and were not run here. Native compilation and the
Pipe Edge1 fixture still require confirmation there. Browser rendering and task
dialogs, alternate helix modes, pipe orientation/transition/multisections,
arbitrary external profile references and complete desktop option parity are
not certified. Source-linked recompute is covered by the Pipe case; broader
topology-changing link updates remain unverified. No business success is claimed.
Local checks: new JavaScript script syntax and scoped diff whitespace passed.
TypeScript check could not start because web/node_modules/.bin/tsc is absent.