Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...

    Module scene/playback-aspiration

    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.

    PlaybackAspiration
    PlaybackChild
    PlaybackEntry
    foldLoadTime