pub struct GlbSizeProjection {
pub total_bytes: u64,
pub bin_bytes: u64,
pub fits_single_glb: bool,
pub stats: GltfStats,
}Expand description
Projected size of the single-GLB export for a model, computed from pass 1
only (no output allocation) — issue #1516. A caller uses it to pick single
GLB vs multi-buffer glTF (export_gltf_streaming) WITHOUT the historical
“attempt the GLB, catch the 4 GiB panic, re-run as multi-buffer” dance.
Fields§
§total_bytes: u64Projected total GLB container size in bytes (padded JSON + padded BIN + chunk headers). Exact when it fits; a lower bound once oversize (the truncated buffer numbers in the discarded JSON make it marginally short).
bin_bytes: u64Projected BIN payload (positions + normals + indices), the value checked against the glTF 4 GiB per-buffer limit. Always exact (u64, no truncation).
fits_single_glb: boolfalse when the projected GLB would exceed the glTF 32-bit (4 GiB) limit
— route to export_gltf_streaming (multi-buffer) instead.
stats: GltfStatsCoverage of the projected export (post content-dedup mesh/vertex/tri counts).
Trait Implementations§
Source§impl Clone for GlbSizeProjection
impl Clone for GlbSizeProjection
Source§fn clone(&self) -> GlbSizeProjection
fn clone(&self) -> GlbSizeProjection
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GlbSizeProjection
impl Debug for GlbSizeProjection
impl Copy for GlbSizeProjection
Auto Trait Implementations§
impl Freeze for GlbSizeProjection
impl RefUnwindSafe for GlbSizeProjection
impl Send for GlbSizeProjection
impl Sync for GlbSizeProjection
impl Unpin for GlbSizeProjection
impl UnwindSafe for GlbSizeProjection
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>,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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 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>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.