geometry: a partition's pieces that do not touch become separate cells (#388)

split_by_plane gives one body per side, which may hold several shells when
the side falls apart; every lump is now its own cell (B/a1, B/a2), at every
cut, as the partition docs promise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
jyvikoandClaude Opus 5.5 authored and Irakli Kourtis committed 2026-10-15 13:43:45 -04:00
1 parent df7f7f0769
commit 92c3588099
3 files changed
+58 -1

No files matched your search

+5
View File
@@ -215,6 +215,11 @@ impl Shape {
Ok(guard("size", || Ok(self.body.size()))?)
}
/// The boundary shells of the body: one for a solid in one piece without voids.
pub fn shells(&self) -> Result<usize> {
Ok(guard("shells", || Ok(self.body.shell_count()))?)
}
pub fn measure(&self) -> Result<Measure> {
let m = guard("measure", || solidcraft_kernel::measure(&self.body))?;
Ok(Measure {