43 lines
2.6 KiB
Markdown
43 lines
2.6 KiB
Markdown
# Native Cross-Sections
|
|
|
|
2026-09-17 05:45 Asia/Shanghai. `Part:desktop:Part_CrossSections` passed first
|
|
formal acceptance: 30 scenarios in 23.227 seconds. Evidence:
|
|
`business-evidence/37fc8060a5e98296b20fed4c-20260916T214555151607.json`.
|
|
|
|
The authoritative desktop task is `freecad-source/src/Mod/Part/Gui/CrossSections.cpp`.
|
|
The previously attempted TaskCrossSections.cpp filename does not exist. The
|
|
bounded reader now reports missing files separately from scope rejections;
|
|
eight focused reader checks passed.
|
|
|
|
The existing DocumentProbe creates native Part::Feature section compounds using
|
|
TopoShape::makeElementSlice, the same algorithm called by desktop Shape.slice.
|
|
XY/XZ/YZ, default bounding-box center, explicit position, multiple planes,
|
|
spacing and both-side distribution follow the desktop task. Non-shape objects
|
|
are filtered, repeated objects are deduplicated and transformed links resolve
|
|
through native ShapeOptions. Empty intersections produce empty section compounds.
|
|
Each Apply is a document transaction. Section shapes are static copies, as on
|
|
desktop; later source edits affect subsequent Apply operations, not old sections.
|
|
|
|
The mounted task includes source selection, plane controls and live plane
|
|
outlines, source visibility, Apply/Close, undo/redo and FCStd/OPFS storage. Large
|
|
plane previews sample at most 200 requested positions; native generation retains
|
|
the desktop count range of 1..2000000. Tests cover small representative counts and
|
|
invalid range boundaries, not performance at the maximum count.
|
|
|
|
Cases verify analytic section lengths and plane coordinates, native circle
|
|
circumference, two objects, ignored non-shapes, moved links, input rejection,
|
|
document isolation, cancellation, static-copy behavior, history and restoration.
|
|
The first FCStd assertion exposed expected floating-point serialization differences;
|
|
the comparison now uses absolute tolerance 1e-9 for numbers while retaining exact
|
|
structure, names, labels and array lengths. Desktop/mobile screenshots, nonblank
|
|
canvas pixels, rotation and preview position changes are recorded. The browser
|
|
reload occurs once to prove restoration; native scenarios reuse one kernel.
|
|
|
|
DocumentProbe incremental build, TypeScript and the production frontend build
|
|
passed. A missing null guard in the in-progress import-panel mount was also fixed
|
|
to unblock compilation; no Import acceptance is claimed by that change.
|
|
Background writes were frozen while completing the shared-file edits and first
|
|
acceptance, then thawed without terminating its task. Old-item revalidation stays
|
|
paused. At this snapshot coverage is 190/1508, with 1318 lacking executable cases;
|
|
coverage is not the count of currently accepted proofs.
|