The Taleem ecosystem is built around one simple idea:
Everything follows a single, strict, shared schema.
There is no separate format for authors, players, demos, or tools. There is no “almost compatible” mode. There is no interpretation layer.
If something is a Taleem deck, it follows the same schema everywhere.
This schema is called deck-v1.
The Taleem schema defines what a presentation is.
It does not describe how a slide looks on screen. It does not describe animations, themes, or UI behavior. It does not describe playback controls or application logic.
It only describes structure.
If a JSON object conforms to the schema, it is a valid Taleem deck. If it does not, it is rejected.
There is no best-effort rendering.
Below is a complete, valid deck-v1 example.
It follows the schema exactly and will validate and render correctly
in any Taleem-compatible renderer.
{
"version": "deck-v1",
"name": "Minimal Example Deck",
"background": {
"backgroundColor": "#111111",
"backgroundImage": null,
"backgroundImageOpacity": 0.25
},
"deck": [
{
"type": "titleAndPara",
"start": 0,
"end": 5,
"data": [
{
"name": "title",
"content": "What Is Taleem?",
"showAt": 0
}
]
},
{
"type": "bulletList",
"start": 5,
"end": 10,
"data": [
{
"name": "bullet",
"content": "Structure-first presentations",
"showAt": 5
},
{
"name": "bullet",
"content": "One schema everywhere",
"showAt": 6
}
]
}
]
}
This example demonstrates:
deck-v1 header
Any renderer that supports deck-v1 must produce
the same logical output for this input.
The Taleem schema is not defined in prose documentation.
It is defined in code, inside the taleem-player package.
This documentation explains the schema, but the source of truth is the implementation.
Any system claiming compatibility with Taleem must validate against these definitions.
The schema defines a finite, closed set of slide types.
deck-v1 defines 16 canonical slide types.
Each slide:
Slide types do not evolve silently. Adding a new slide type is a deliberate schema change.
Existing decks are never reinterpreted.
Every Taleem deck is validated.
Validation is not optional. Validation is not advisory.
A deck is either:
This keeps the system deterministic and predictable.
The Taleem project provides a canonical reference deck:
https://github.com/bilza2023/taleem-player/blob/master/src/spec/goldenDeckV1.js
This deck is not a demo.
It is a reference implementation that:
deck-v1If a renderer can render the golden deck correctly, it supports the schema.
Because there is one schema:
The schema is the contract.
Applications may change. Renderers may change. Styles may change.
The schema does not.
Taleem is not a collection of tools.
It is a schema-first system.
Everything else exists to serve that structure.