@byomakase/omakase-player
    Preparing search index...

    Class TimelineImpl

    Implements

    Index

    Constructors

    Accessors

    Methods

    • Parameters

      • node: Group | Shape<ShapeConfig>
      • zIndex: number = 0

      Returns void

    • Parameters

      • node: Group | Shape<ShapeConfig>
      • zIndex: number = 0

      Returns void

    • Parameters

      • node: Group | Shape<ShapeConfig>
      • zIndex: number = 0

      Returns void

    • Parameters

      • node: Group | Shape<ShapeConfig>
      • zIndex: number = 0

      Returns void

    • Live mode only. Clamps a seek target to both edges of what's actually reachable right now — mirroring the same bounds the player itself already enforces on every seek (see HlsPlayerController.constrainSeekTime's [liveStartTime, liveSyncPosition] clamp), so the timeline UI never visually promises a position the player would silently redirect away from:

      • Below _liveTrueStartTime: inside [_liveDisplayOrigin, _liveTrueStartTime) — genuinely only a non-empty range under TimelineConfig.liveHistoryRetention — content is still rendered (thumbnails, markers, ticks) but no longer actually reachable: its segments are already evicted upstream, exactly like EvictedRegionOverlay marks.
      • Above liveSyncPosition: inside LiveEdgeOverlay's reserved/locked region — not evicted, just not live yet.

      Called from every seek entry point that originates from a user interaction with the timeline (scrubber/timecode click, playhead drag, timecode edit) — see call sites.

      Parameters

      • seconds: number

      Returns number

    • Forces a full catch-up of the rendered left bound to the true, current liveStartTime — closing the gap completely, unlike TimelineConfig.liveHistoryRetention's automatic behavior, which only ever maintains a bounded (at-most-threshold) trailing gap and never fully closes it on its own. A no-op if there's nothing to evict (including whenever no threshold is configured, since the left bound already tracks liveStartTime exactly in that case).

      Returns void

    • Absolute canvas Y of a lane's own slot's top-left, accounting for HEADER/MAIN/FOOTER vertical stacking. Used to translate a "spans the whole timeline" geometry into a slot's own local coordinate space (HEADER is 0, FOOTER is header+main height, etc.).

      Parameters

      • laneId: string

      Returns number

    • Height of the HEADER + MAIN + FOOTER content, i.e. getStageHeight minus the outer vertical TimelineStyle.padding. Components anchored inside _spanningContainer (the playhead, scrubber, live edge overlay) span exactly this content region — not the raw stage, which would bleed into the padding above HEADER and below FOOTER.

      Returns number

    • Same as getTimecodedFloatingDimension(), but scoped to the slot that owns the given lane (HEADER/FOOTER lanes have their own content height, distinct from MAIN's).

      Parameters

      • laneId: string

      Returns Dimension

    • Scrolls timeline

      Parameters

      • percent: number

        in range from 0 - timeline start or first timestamp, to 100 - timeline end or last timestamop

      Returns Observable<number>

    • Explicit user-controlled visibility toggle for a slot's vertical scrollbar. Only MAIN has a mounted scrollbar today — no-op for HEADER/FOOTER.

      Parameters

      Returns void

    • Timeline zoom

      Parameters

      • percent: number

        number between 100 and TimelineConfig.zoomMax

      • zoomFocusPercent: number | undefined = ...

      Returns number