pub struct MeshManifest {
pub hash: String,
pub mesh_count: usize,
pub vertex_count: usize,
pub triangle_count: usize,
pub voids_hash: String,
pub void_host_count: usize,
pub material_colors_hash: String,
pub material_element_count: usize,
pub styles_hash: String,
pub style_entry_count: usize,
pub meshes: Vec<MeshManifestEntry>,
}Expand description
The pinned mesh-output determinism fingerprint.
Fields§
§hash: StringFNV-1a over every per-mesh hash in emit order, then the labelled
flat_voids, flat_material_colors and flat_styles_rgba8 wire
arrays.
mesh_count: usize§vertex_count: usize§triangle_count: usize§voids_hash: StringFNV-1a over the sorted flat_voids (keys, counts, values) arrays.
void_host_count: usizeNumber of void hosts on the wire - must stay >= 2 or the sorted key order stops being load-bearing (a one-entry array pins no order).
material_colors_hash: StringFNV-1a over the sorted flat_material_colors (ids, counts, rgba8) arrays.
material_element_count: usizeNumber of material-coloured elements on the wire - same >= 2 rationale.
styles_hash: StringFNV-1a over the sorted flat_styles_rgba8 (ids, rgba8) arrays - the
third flat wire surface, same cross-target contract as the other two.
style_entry_count: usizeNumber of style entries on the wire (geometry, material and element ids across the layered precedence) - same >= 2 rationale.
meshes: Vec<MeshManifestEntry>Implementations§
Trait Implementations§
Source§impl Clone for MeshManifest
impl Clone for MeshManifest
Source§fn clone(&self) -> MeshManifest
fn clone(&self) -> MeshManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MeshManifest
impl Debug for MeshManifest
Source§impl<'de> Deserialize<'de> for MeshManifest
impl<'de> Deserialize<'de> for MeshManifest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for MeshManifest
Source§impl PartialEq for MeshManifest
impl PartialEq for MeshManifest
Source§impl Serialize for MeshManifest
impl Serialize for MeshManifest
impl StructuralPartialEq for MeshManifest
Auto Trait Implementations§
impl Freeze for MeshManifest
impl RefUnwindSafe for MeshManifest
impl Send for MeshManifest
impl Sync for MeshManifest
impl Unpin for MeshManifest
impl UnsafeUnpin for MeshManifest
impl UnwindSafe for MeshManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.