Skip to content

LT PlayerBuilt for watching science

The Latest Thinking player for research video. Structured, beautiful, and at home on any page.

LT Player

Why the LT Player exists

Latest Thinking publishes research as video: scientists explaining their own work, question by question, in their own words. Generic video players treat that content like any other clip. The LT Player is built around it instead. A talk has structure, so the player has chapters. Science is international, so captions are first-class. Knowledge wants to travel, so sharing and embedding are built in, from Latest Thinking pages to any website that installs/embeds the player.

And because a player represents the content it plays, the LT Player is designed to be beautiful: a calm, carefully crafted surface that gets out of the way of the person speaking.

What the player is

A proprietary web video player, shipped as the npm package @latest-thinking/lt-player. Every player instance is fully described by one configuration object: the content it plays, the controls it shows, and the capabilities it enables. Consumers configure the player; they never modify it.

Version 3 is in active development and published as a beta on the npm next channel.

What you will find here

#DocumentScope
1OverviewWhat the LT Player is, core terms, vocabulary rules
2ContextsWhere the player runs and the constraints each context imposes
3ArchitectureTarget structure, module boundaries, capability module contract, styling strategy
4Media engineThe Video.js 10 layer kit, the LT Player's place on top, composition rules
5LayoutsLandscape and portrait: definitions, shared behavior, divergences
6Core playerThe always-on baseline every instance provides
7Capability modelAvailability, enablement, the merge cascade, defaults
8ShortsThe feed module wrapping the portrait player
9ThemingDesign tokens, light and dark, fonts
10Capability: chaptersTimeline segments and navigation
11Capability: captionsSubtitle rendering and selection
12Capability: speedPlayback rate control
13Capability: shareShare controls, including external page triggers
14Capability: context panelThe context panel surface
15ConfigThe instance configuration shape, merge semantics, validation
16StorageThe browser storage key, schema, versioning, and behavior for the user state
17Page APIHow a hosting page controls the player
18Demo dataThe video library, configuration shapes, and dummy feed; media from the bucket
19LibraryA dedicated page per demo video: player, document, copyable resource links

How this documentation works

This documentation is the specification of the player. It is versioned with the code, reviewed like code, and binding: implementation follows the approved documents, and a change in behavior starts with a change here. Every document carries a status badge under its title (skeleton, draft, or approved), and only approved documents bind implementation.

The specification is written to be implemented from, by people and by AI agents alike: behavior is described precisely enough that an implementer never needs to guess, and when a detail is not yet decided, the document says so explicitly instead of staying silent.