Skip to main content

TierLadder

Struct TierLadder 

Source
pub struct TierLadder {
    pub budgets: [TierBudget; 4],
    pub features: [TierFeatures; 4],
}
Expand description

The canonical tier ladder: budgets, features, and safety constraints for every quality tier.

This is the single source of truth that the adaptive controller reads to decide degradation thresholds and feature availability.

Fields§

§budgets: [TierBudget; 4]

Budget for each tier, ordered Emergency → Fast → Balanced → Quality.

§features: [TierFeatures; 4]

Feature toggles for each tier, same order.

Implementations§

Source§

impl TierLadder

Source

pub fn budget(&self, tier: LayoutTier) -> &TierBudget

Look up the budget for a specific tier.

Source

pub fn features_for(&self, tier: LayoutTier) -> &TierFeatures

Look up the feature toggles for a specific tier.

Source

pub fn default_60fps() -> Self

The default tier ladder calibrated from baseline profiles.

Frame budgets target 60fps (16,667µs) with progressive headroom allocation. Memory budgets are sized for typical terminal workloads (80x24 to 200x60). Queue budgets prevent unbounded accumulation of deferred work.

Source

pub fn check_monotonicity(&self) -> Vec<String>

Verify that feature toggles are monotonically enabled up the ladder.

Returns a list of violations where a higher tier disables a feature that a lower tier enables.

Source

pub fn check_budget_consistency(&self) -> Vec<String>

Verify that all budgets are consistent (sub-budgets sum to total).

Source

pub fn check_budget_ordering(&self) -> Vec<String>

Verify that budgets increase monotonically up the tier ladder.

Trait Implementations§

Source§

impl Clone for TierLadder

Source§

fn clone(&self) -> TierLadder

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for TierLadder

Source§

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

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

impl Default for TierLadder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for TierLadder

Source§

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

Formats the value using the given formatter. Read more

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<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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more