forked from 1b-agent/fieldcraft-upstream
engine: geometry.face.split, a face split along a datum plane (#508)
geometry.face.split {name, face, datum} records a face split; it is
applied after the merges whenever the design is opened or cut again,
follows its datum (which it holds), undoes, and is saved with the
model. geometry.face.split.delete removes it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
7cd3dcfaa0
commit
54e367970f
12 files changed
+172
-10
No files matched your search
@@ -221,6 +221,8 @@ pub enum Collection {
|
||||
FaceMerge,
|
||||
/// A stitch (`geometry.stitch`).
|
||||
Stitch,
|
||||
/// A face split (`geometry.face.split`).
|
||||
FaceSplit,
|
||||
}
|
||||
|
||||
impl Collection {
|
||||
@@ -248,6 +250,7 @@ impl Collection {
|
||||
Collection::Partition => "partition",
|
||||
Collection::FaceMerge => "face merge",
|
||||
Collection::Stitch => "stitch",
|
||||
Collection::FaceSplit => "face split",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -279,6 +282,7 @@ impl Session {
|
||||
Collection::Partition => Box::new(m.partitions().iter().map(|p| p.name.as_str())),
|
||||
Collection::FaceMerge => Box::new(m.face_merges().iter().map(|f| f.name.as_str())),
|
||||
Collection::Stitch => Box::new(m.stitches().iter().map(|f| f.name.as_str())),
|
||||
Collection::FaceSplit => Box::new(m.face_splits().iter().map(|f| f.name.as_str())),
|
||||
};
|
||||
names.take(MAX_NAMES).map(str::to_string).collect()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user