Files
solvecraft/harness
Brett Lawson 4db1ba7b2f blend.feature_executive: carry attributes through PartitionFeature and RestoreFeature copies
Upstream's CopyFaces notifies SM_NO_COPY on each copied face, edge and vertex
(SmMerge::MakeFaceuse), so attributes reach the copies as their behaviours say.
The port's copies ran with an empty attribute store.

- topology::brep::p2::CopyNotifyState: notification state for a copy between
  two B-reps, holding both B-reps' own attributes (source objects under tagged
  copy_source_ref identities) and giving each B-rep its own back.
- topology::brep::p7::copy_faces_from: copy_faces with distinct source
  identities (copy_faces delegates to it unchanged).
- SmFeatureExecutive: PartitionFeature and RestoreFeature copy with the
  attributes. The patch path does not yet: its merges still differ from SMLib
  (finding addendum).
- Shim, FFI and runner: optional SmLongAttribute inputs, plus per-id face and
  edge counts of every B-rep in the record; 4 attribute cases (3 pass; the
  extrusion case fails until the patch path carries).
- Unit test: copy and reference attributes reach the feature B-rep, temporary
  ones do not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-31 04:34:25 +01:00
..
2026-10-26 22:30:05 -04:00