statusLineBrandFadeT function

double statusLineBrandFadeT({
  1. required bool lit,
  2. required int? changedAgoMs,
  3. int durationMs = 450,
  4. int frameMs = 40,
})

The pi brand-mark fade tween: 0.0 = fully idle-dim, 1.0 = fully lit, quantized to frameMs frames across durationMs (omp: 450 ms / 40 ms, 11 sampled frames + settle). changedAgoMs is the time since the last idle↔working flip (null = static: lit decides). Pure — the host owns the clock.

Implementation

double statusLineBrandFadeT({
  required bool lit,
  required int? changedAgoMs,
  int durationMs = 450,
  int frameMs = 40,
}) {
  if (changedAgoMs == null || changedAgoMs >= durationMs) {
    return lit ? 1.0 : 0.0;
  }
  final frames = durationMs ~/ frameMs;
  if (frames <= 0) {
    // Degenerate tuning (frameMs > durationMs): no tween room - snap.
    return lit ? 1.0 : 0.0;
  }
  final t = (changedAgoMs ~/ frameMs) / frames;
  return lit ? t : 1.0 - t;
}