Skip to main content

BuildWarning

Enum BuildWarning 

Source
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

§name: String

The horizon’s name.

§role: HorizonRole

The horizon’s structural role.

§reason: String

Why it was not consumed (human-readable).

§

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

§columns: usize

How many lattice nodes were pushed down to the minimum thickness.

§worst_m: f64

The worst (most negative) original base − top separation among the repaired nodes — negative = a true crossing.

§

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.

Fields

§cells: usize

Number of cells collapsed to zero thickness by truncation.

§

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.

Fields

§cells: usize

Number of cells collapsed to zero thickness by the threshold.

§

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.

Fields

§nk: usize

The capped k-layer count (crate::gridder::MAX_NK).

Trait Implementations§

Source§

impl Clone for BuildWarning

Source§

fn clone(&self) -> BuildWarning

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BuildWarning

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for BuildWarning

Source§

fn eq(&self, other: &BuildWarning) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for BuildWarning

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

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

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

Source§

fn is_within(&self, b: &G2) -> bool