Appearance
Contexts
approvedThe player must behave correctly in four contexts. Every design decision is tested against all four.
The four contexts
| # | Context | Description |
|---|---|---|
| 1 | Latest Thinking website | Publication pages and related surfaces, landscape and portrait |
| 2 | Embed page | An LT-hosted page included by third-party sites through an iframe |
| 3 | Basic pages | LT pages without publications: a stripped-down player, still the LT Player |
| 4 | Third-party npm consumers | Anyone installing the public package on their own site |
Latest Thinking website
The primary context. Multiple instances can exist on one page. The site owns page-level concerns: the page shows the video title next to the player, so instances there typically hide the cover title and show the author only.
Embed page for third-party iframes
The player runs on an LT-controlled page, but inside an iframe on a site LT does not control. Constraints: no assumptions about the parent page, careful keyboard capture, and the share capability points users to canonical LT URLs. Hosting pages must delegate at least autoplay; fullscreen; picture-in-picture through the iframe's allow attribute; the player-generated snippet carries those permissions and the additional permissions its embedded Share actions require.
Basic pages
Pages without publication context run the player with capabilities disabled through configuration: the core baseline with basic controls. No special build or mode exists for this; it is ordinary configuration.
Third-party npm consumers
The package is public. Under its license, third parties may install, bundle, and use the unmodified player. Consequences: the documentation rendered on the showcase must be sufficient on its own, the player must run without any LT service, and every observable behavior belongs to the documented contract.
Constraints summary
- No network requests except fetching the media and assets the configuration names.
- Multiple independent instances per page; no shared mutable state except where specified (the shorts feed defines its own audio coordination).
- No global namespace pollution beyond the documented page API entry.
- All UI strings replaceable per instance; defaults are English.
- Accessibility is part of the contract: keyboard operability and screen-reader labels ship by default and survive configuration changes.