pub(super) struct PriorShapes {
pub(super) by_hash: FxHashMap<MeshGeometryKey, EmittedShape>,
pub(super) templates: FxHashMap<u128, RetainedTemplate>,
}Expand description
What earlier stream batches leave behind for later ones (#5407).
Fields§
§by_hash: FxHashMap<MeshGeometryKey, EmittedShape>Every shape emitted so far, by content hash: where it landed. No geometry, so it costs the same whatever the shape’s size.
templates: FxHashMap<u128, RetainedTemplate>Per instanced representation (InstanceMeta::rep_identity), the
collator template emitted for it and where. The ONE piece of geometry
carried across a batch boundary, because stage 1 verifies every
occurrence against its template’s vertices; a rotated repeat is not
bit-identical to anything, so the hash alone cannot share it. What gets
retained, and the budget capping it, is the caller’s decision.
Trait Implementations§
Source§impl Default for PriorShapes
impl Default for PriorShapes
Source§fn default() -> PriorShapes
fn default() -> PriorShapes
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PriorShapes
impl RefUnwindSafe for PriorShapes
impl Send for PriorShapes
impl Sync for PriorShapes
impl Unpin for PriorShapes
impl UnwindSafe for PriorShapes
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§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 more§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).§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.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.