pub enum MetaMode {
StreamingPartial {
scanned_through: usize,
},
SmallFileSingle,
}Expand description
Which RTC-detection ladder resolve_stream_meta should run.
Variants§
StreamingPartial
Streaming early-meta: the caller’s decoder sees only a PARTIAL entity
index (the file head scanned so far), so RTC detection runs the 3-stage
fallback ladder — partial-index detect → full-index re-detect (triggered
when no large offset was found AND either the IfcSite has not been
scanned yet OR the partial index resolved no usable placement chain) →
placement-bounds last resort — instead of silently defaulting to
no-shift and rendering f32 vertex jitter on models whose world offset
lives in late spatial placements.
scanned_through is how far into content the caller’s index reaches,
as a byte offset at a record boundary. Stage 1 samples only that head,
because nothing past it can resolve a placement chain against a partial
index: sampling the whole file there would decode every entity in the
tail, have all of them abstain, and add a full-file walk (measured
235 ms on a 343 MB fixture; 7 of 7 fixtures walked to EOF and none of
them contributed a sample) to the mid-scan emission that exists to keep
time-to-first-geometry short.
SmallFileSingle
The caller’s decoder already sees the FULL entity index (the
small-file streaming tail, or the single-pass buildPrePassOnce), so a
single GeometryRouter::detect_rtc_offset_for_file is correct.
Trait Implementations§
impl Copy for MetaMode
impl Eq for MetaMode
impl StructuralPartialEq for MetaMode
Auto Trait Implementations§
impl Freeze for MetaMode
impl RefUnwindSafe for MetaMode
impl Send for MetaMode
impl Sync for MetaMode
impl Unpin for MetaMode
impl UnsafeUnpin for MetaMode
impl UnwindSafe for MetaMode
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,
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.