settleDuration method
Returns the time (seconds) at which isDone first becomes true,
sampled at resolution steps per second. Returns maxTime if never done.
Implementation
double settleDuration({
double maxTime = 10.0,
int resolution = 120,
}) {
final dt = 1.0 / resolution;
for (var t = 0.0; t <= maxTime; t += dt) {
if (isDone(t)) return t;
}
return maxTime;
}