diff --git a/crates/fj-kernel/src/objects/solid.rs b/crates/fj-kernel/src/objects/solid.rs index 65c53533c..74982135e 100644 --- a/crates/fj-kernel/src/objects/solid.rs +++ b/crates/fj-kernel/src/objects/solid.rs @@ -12,6 +12,12 @@ use super::{Face, Surface}; /// /// The faces that make up the solid must form a closed shape. This is not /// currently validated. +/// +/// In fact, solids could be made up of several closed shells. One outer shell, +/// and multiple inner ones (cavities within the solid). There should probably +/// a separate `Shell` object that is a collection of faces, and validates that +/// those faces form a closed shape. `Solid` should be a collection of such +/// `Shell`s, and validate that those `Shell`s don't intersect. #[derive(Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)] pub struct Solid { faces: BTreeSet,