IFClite TypeScript API
    Preparing search index...

    Interface LodPacerOptions

    Progressive-refinement pacing for LOD streaming (#6869). Pure: callers pass in measured durations; nothing here reads a clock.

    After a camera move the first pass should land quickly, so its point budget is sized to a time budget (default 200 ms) from a learned read rate (points decoded and uploaded per millisecond). The estimate is an asymmetric EMA: it drops fast when reads get slower (a congested network should shrink the next first pass at once) and rises slowly when they get faster (one cache-warm read must not inflate it). Each sample is first clipped to [rate / clipRatio, rate * clipRatio], so a single outlier, a stall in a background tab or a near-zero duration, moves the estimate by a bounded step.

    interface LodPacerOptions {
        clipRatio?: number;
        fallAlpha?: number;
        firstPassMs?: number;
        initialPointsPerMs?: number;
        minFirstPassPoints?: number;
        riseAlpha?: number;
    }
    Index
    clipRatio?: number

    Outlier clip factor around the current estimate. Default 4.

    fallAlpha?: number

    EMA weight when a sample is slower than the estimate. Default 0.5.

    firstPassMs?: number

    Target duration of the first pass, ms. Default 200.

    initialPointsPerMs?: number

    Prior read rate before any observation, points/ms. Default 1000.

    minFirstPassPoints?: number

    Floor for the first pass so it is never empty. Default 50 000.

    riseAlpha?: number

    EMA weight when a sample is faster than the estimate. Default 0.1.