pub enum BuildWarning {
UnusedHorizon {
name: String,
role: HorizonRole,
reason: String,
},
ThinColumnsRepaired {
columns: usize,
worst_m: f64,
},
LayersTruncated {
cells: usize,
},
CellsCollapsed {
cells: usize,
},
LayerCountCapped {
nk: usize,
},
}Expand description
A non-blocking advisory raised during a build: something the caller supplied
that the current build could not (yet) honour. Carried on Provenance so a
consumer can surface it without the build failing.
Variants§
UnusedHorizon
A supplied horizon was present in the wireframe but not consumed by the
build. Intermediate horizons are unused until multi-zone layering lands
(P5 task_petekstatic_zones_faults); a second Base, or a Base whose
lattice does not match the Top, is likewise skipped (the build falls
back to the constant gross_height_m offset for the base).
Fields
role: HorizonRoleThe horizon’s structural role.
ThinColumnsRepaired
Post-gridding order-repair pulled thin/crossing base columns down to a
minimum thickness below the top (with_min_thickness_m). The top (the
better-constrained seismic pick) was preserved; only the base moved. Raised
instead of the crate::error::StaticError::CrossedSurfaces error when the caller
opted into the repair.
Fields
LayersTruncated
cells cells collapsed to zero thickness during layering (zero volume —
excluded from volumetrics, NaN-marked in the view bundles). Two causes,
under any conformity: a dz-based Follow style (FollowTop/FollowBase)
truncating the thinner columns against the pinch-out horizon, or a
zero-thickness column where the bounding horizons pinch out / merge (a
Proportional zone over a merged envelope reports here too — the warning is
NOT Follow-specific; see StackProvenance::zones[*].truncated_cells +
conformity for the per-zone attribution). Informational: total volume is
conformity-invariant, so this never changes the in-place answer.
CellsCollapsed
The sub-threshold cell-collapse pass (with_collapse_below_m) collapsed
cells cells thinner than the threshold to zero thickness, merging each
sliver’s rock into a thicker zone-interior neighbour (volume-conserving).
Informational: total volume is preserved, so this never changes the in-place
answer; the collapsed cells are NaN-marked in the view bundles.
LayerCountCapped
The dz-derived layer count under a Follow conformity hit the MAX_NK cap
(the chosen dz is finer than the cap can span over the thickest column), so
the deepest part of the thickest columns is not layered. Coarsen dz or
accept the cap. Carries the capped count.
Trait Implementations§
Source§impl Clone for BuildWarning
impl Clone for BuildWarning
Source§fn clone(&self) -> BuildWarning
fn clone(&self) -> BuildWarning
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 BuildWarning
impl Debug for BuildWarning
Source§impl PartialEq for BuildWarning
impl PartialEq for BuildWarning
Source§fn eq(&self, other: &BuildWarning) -> bool
fn eq(&self, other: &BuildWarning) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for BuildWarning
Auto Trait Implementations§
impl Freeze for BuildWarning
impl RefUnwindSafe for BuildWarning
impl Send for BuildWarning
impl Sync for BuildWarning
impl Unpin for BuildWarning
impl UnsafeUnpin for BuildWarning
impl UnwindSafe for BuildWarning
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.