mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-08 13:01:52 +00:00
4db1ba7b2f
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