The Taleem Player Engine is a time-based playback engine.
It renders Taleem decks by computing visibility as a function of absolute time.
The player does not infer, guess, or correct timing. It enforces the timing contract exactly as written.
deck-v1 Taleem deckstart / endshowAtThese responsibilities belong to the application layer.
The player engine exposes a single factory function.
import { createTaleemPlayer } from "taleem-player";
const player = createTaleemPlayer({
mount: "#app",
deck
});
This creates a time-driven playback controller over a validated deck.
{
play(): void,
pause(): void,
stop(): void,
seek(time: number): void,
setRate(rate: number): void,
getCurrentTime(): number,
getVisibleSlides(): Slide[],
getVisibleItems(slideIndex: number): Item[]
}
All visibility decisions are computed from:
start and end timesshowAt timestampsThere is no concept of:
Time is absolute and global across the entire deck.
What should be visible at time T?
At any given moment, the player answers this question deterministically.
Given the same deck and the same time input, the output is always the same.
The two engines serve different, non-overlapping purposes.
Player Engine moves by time, not by slide index.
Neither engine is a fallback for the other.
If timing data is invalid:
These failures are intentional.
The player does not correct authoring mistakes, because silent correction breaks determinism.
The Player Engine API is stable and frozen.
Internal optimizations may continue, but public behavior will not change without a schema version bump.