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
impl TierLadder
Sourcepub fn budget(&self, tier: LayoutTier) -> &TierBudget
pub fn budget(&self, tier: LayoutTier) -> &TierBudget
Look up the budget for a specific tier.
Sourcepub fn features_for(&self, tier: LayoutTier) -> &TierFeatures
pub fn features_for(&self, tier: LayoutTier) -> &TierFeatures
Look up the feature toggles for a specific tier.
Sourcepub fn default_60fps() -> Self
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.
Sourcepub fn check_monotonicity(&self) -> Vec<String>
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.
Sourcepub fn check_budget_consistency(&self) -> Vec<String>
pub fn check_budget_consistency(&self) -> Vec<String>
Verify that all budgets are consistent (sub-budgets sum to total).
Sourcepub fn check_budget_ordering(&self) -> Vec<String>
pub fn check_budget_ordering(&self) -> Vec<String>
Verify that budgets increase monotonically up the tier ladder.
Trait Implementations§
Source§impl Clone for TierLadder
impl Clone for TierLadder
Source§fn clone(&self) -> TierLadder
fn clone(&self) -> TierLadder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more