use crate::assets::Unresolved;
use crate::mesh::{Clip, Geometry, MeshData, Part};
pub(crate) fn geometry<P: Part, C: Clip>(data: MeshData<P, C>) -> Geometry {
let built = data.erased("Hull");
assert!(
built.unresolved.is_empty(),
"built whole: {:?}",
built.unresolved
);
built.geometry
}
pub(crate) fn unresolved<P: Part, C: Clip>(data: MeshData<P, C>) -> Unresolved {
data.erased("Hull").unresolved
}
pub(crate) fn error<P: Part, C: Clip>(data: MeshData<P, C>) -> String {
let recorded = unresolved(data)
.error()
.expect("something did not resolve")
.to_string();
recorded
.strip_prefix("the game's assets did not resolve: ")
.expect("every startup error opens with that")
.to_owned()
}