Playback aspiration: during dimension playback, cap each LOD group at the
finest level whose measured reload fits the playback period.
A playing timelapse bumps the view version every period, so a lazy level
that cannot reload within it would be stale on every frame and drop the
display to the coarsest fresh level. The finest level that CAN keep up is
what a video player's "auto quality" picks. This module owns the
measurement and the decision:
Load timing (foldLoadTime): each timed (re)load of a lazy level
is folded into an EWMA (LODGroupChild.loadEwmaMs). The first, cold
sample is replaced by the second; only a FULL load or reload is a timing —
the registry starts a ladder refinement step untimed.
Admission with hysteresis (PlaybackAspiration.aspire): a level
finer than the aspiration must fit playbackLoadBudgetFraction of the
period; the aspiration and the levels below it only need
playbackKeepBudgetFraction.
Probe: a capped level is re-measured once per
playbackProbeIntervalMs; the probe's reload REPLACES the stale average.
The replace mark (playbackProbePending) is set only when the probe's
reload actually starts (PlaybackAspiration.noteTimedLoadStarted),
and every mark is forgotten when playback stops.
Holds no per-frame tick demand: a playing timeline ticks every period, and a
reload in flight keeps the loop alive through the registry's loading walk.
Playback aspiration: during dimension playback, cap each LOD group at the finest level whose measured reload fits the playback period.
A playing timelapse bumps the view version every period, so a lazy level that cannot reload within it would be stale on every frame and drop the display to the coarsest fresh level. The finest level that CAN keep up is what a video player's "auto quality" picks. This module owns the measurement and the decision:
LODGroupChild.loadEwmaMs). The first, cold sample is replaced by the second; only a FULL load or reload is a timing — the registry starts a ladder refinement step untimed.playbackLoadBudgetFractionof the period; the aspiration and the levels below it only needplaybackKeepBudgetFraction.playbackProbeIntervalMs; the probe's reload REPLACES the stale average. The replace mark (playbackProbePending) is set only when the probe's reload actually starts (PlaybackAspiration.noteTimedLoadStarted), and every mark is forgotten when playback stops.Holds no per-frame tick demand: a playing timeline ticks every period, and a reload in flight keeps the loop alive through the registry's loading walk.