/// Internal namespace. pub( crate ) mod private { use crate::*; /// Interface of command to draw something. pub trait DrawCommandInterface where Self : fmt::Debug, { } } /// Protected namespace of the module. pub mod protected { pub use super::orphan::*; } pub use protected::*; /// Parented namespace of the module. pub mod orphan { pub use super:: { exposed::*, private::DrawCommandInterface, }; } /// Exposed namespace of the module. pub mod exposed { pub use super:: { prelude::*, }; } pub use exposed::*; /// Prelude to use essentials: `use my_module::prelude::*`. pub mod prelude { pub use super::private:: { }; }