Taleem Schema

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.

One Schema, One Truth

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.

A Minimal Working Example

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:

Any renderer that supports deck-v1 must produce the same logical output for this input.

Where the Schema Lives

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.

Permanent References

Any system claiming compatibility with Taleem must validate against these definitions.

Finite Slide Types

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.

Validation Is Mandatory

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 Golden Deck

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:

If a renderer can render the golden deck correctly, it supports the schema.

Why This Matters

Because there is one schema:

The schema is the contract.

Applications may change. Renderers may change. Styles may change.

The schema does not.

Summary

Taleem is not a collection of tools.

It is a schema-first system.

Everything else exists to serve that structure.