Skip to main content

Architecture Decision Records

One entry per decision that had a real trade-off and rejected alternatives worth remembering, not a record of every change. Settled, uncontested choices live in the guides instead.

Conventions (mirrors docs/adr/ in the repo):

  • NNNN-kebab-title, numbered in order, zero-padded to 4.
  • Once merged, an ADR is immutable. Minor follow-ups get a dated ## Update section; a changed approach gets a new ADR that supersedes the old one.
  • Status: Accepted · Superseded by NNNN · Deprecated.

Index​

  • ADR-0001: Custom ABR / "Auto" quality selection instead of VHS's built-in selectors.
  • ADR-0002: A single EvePlayer class as the only public surface.
  • ADR-0003: overrideNative: JS (MSE) playback via VHS on Chromium/Firefox, native HLS on Safari/iOS.
  • ADR-0004: Picture-in-Picture as a CSS floating overlay, not the native API.
  • ADR-0005: Hand-built settings flyout, and hoisting the native track menus.
  • ADR-0006: Bundle @videojs/http-streaming into the package, pinned to the sync-workers build.