shouldRenderAt method

bool shouldRenderAt(
  1. DegradationLevel degradationLevel, {
  2. required bool subtreeHasFocusedWidget,
})

Whether this widget should participate in the current render when degradationLevel is active.

Subtrees marked as WidgetDegradationSignal.focusBoost can remain visible while focused, and WidgetDegradationSignal.stale content can drop earlier.

Implementation

bool shouldRenderAt(
  DegradationLevel degradationLevel, {
  required bool subtreeHasFocusedWidget,
}) {
  var maxVisibleLevel = switch (degradationSignal.priority) {
    WidgetDegradationPriority.essential => DegradationLevel.values.length - 1,
    WidgetDegradationPriority.standard => 2,
    WidgetDegradationPriority.low => 1,
    WidgetDegradationPriority.decorative => 0,
  };

  if (degradationSignal.focusBoost && subtreeHasFocusedWidget) {
    maxVisibleLevel += 1;
  }
  if (degradationSignal.stale) {
    maxVisibleLevel -= 1;
  }

  final clamped = maxVisibleLevel.clamp(
    0,
    DegradationLevel.values.length - 1,
  );
  return degradationLevel.index <= clamped;
}