settled property

bool settled
final

False means the budget ran out with work still pending — an infinite animation, a spinner. Reported, never thrown: the caller always gets its observation back.

It answers "is the app painting", which is not "is the screen ready". The only things it can see are the ones below: a scheduled frame, a running ticker, an image being decoded. A Future waiting on the network, a file or an isolate schedules none of them, so a screen that has drawn its empty state and is still fetching settles immediately and truthfully — the app really has stopped painting. Whoever reads this wanting "the screen is done" has to read the texts as well.

Implementation

final bool settled;