Taleem Player Engine

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.

What the Player Engine Does

What the Player Engine Does Not Do

These responsibilities belong to the application layer.

Public API

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.

Player Instance API

{
  play(): void,
  pause(): void,
  stop(): void,

  seek(time: number): void,
  setRate(rate: number): void,

  getCurrentTime(): number,
  getVisibleSlides(): Slide[],
  getVisibleItems(slideIndex: number): Item[]
}

Timing Model

All visibility decisions are computed from:

There is no concept of:

Time is absolute and global across the entire deck.

Mental Model

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.

Relationship to Browser Engine

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.

Failure Mode (By Design)

If timing data is invalid:

These failures are intentional.

The player does not correct authoring mistakes, because silent correction breaks determinism.

Stability

The Player Engine API is stable and frozen.

Internal optimizations may continue, but public behavior will not change without a schema version bump.