shouldRenderAt method
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;
}