pub struct MeshManifestEntry {
pub express_id: u32,
pub geometry_class: u8,
pub vertex_count: usize,
pub triangle_count: usize,
pub positions_hash: String,
pub normals_hash: String,
pub indices_origin_hash: String,
}Expand description
Per-mesh manifest entry: enough to identify WHICH mesh diverged and how big it was, without committing the raw vertex data.
Fields§
§express_id: u32§geometry_class: u8§vertex_count: usize§triangle_count: usize§positions_hash: StringFNV-1a over the position f32 bits (little-endian). Split out from the normals so the cross-target guard can assert it byte-identical for EVERY mesh, including the curved-profile one: the circle-tessellation libm sin/cos gap lands in the near-zero radial-normal components, not here.
normals_hash: StringFNV-1a over the normal f32 bits. The ONLY per-mesh surface allowed to differ across targets, and only for the curved-profile mesh (see the wasm leg’s trig-gap guard).
indices_origin_hash: StringFNV-1a over (express_id, geometry_class, indices u32, origin f64 bits) - identity, topology and placement, byte-identical across all targets.
Trait Implementations§
Source§impl Clone for MeshManifestEntry
impl Clone for MeshManifestEntry
Source§fn clone(&self) -> MeshManifestEntry
fn clone(&self) -> MeshManifestEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MeshManifestEntry
impl Debug for MeshManifestEntry
Source§impl<'de> Deserialize<'de> for MeshManifestEntry
impl<'de> Deserialize<'de> for MeshManifestEntry
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MeshManifestEntry
Source§impl PartialEq for MeshManifestEntry
impl PartialEq for MeshManifestEntry
Source§impl Serialize for MeshManifestEntry
impl Serialize for MeshManifestEntry
impl StructuralPartialEq for MeshManifestEntry
Auto Trait Implementations§
impl Freeze for MeshManifestEntry
impl RefUnwindSafe for MeshManifestEntry
impl Send for MeshManifestEntry
impl Sync for MeshManifestEntry
impl Unpin for MeshManifestEntry
impl UnsafeUnpin for MeshManifestEntry
impl UnwindSafe for MeshManifestEntry
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
Mutably borrows from an owned value. Read more
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> ⓘ
Converts
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> ⓘ
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.