Taleem Slide Schema — deck-v1

Status: Stable · Frozen

This document is the authoring reference for Taleem slides. If a deck matches this schema, it is valid Taleem data.

Deck Skeleton

{
  "version": "deck-v1",
  "name": "Example Deck",
  "background": {
    "backgroundColor": "#111111",
    "backgroundImage": null,
    "backgroundImageOpacity": 0.3
  },
  "deck": [ /* slides */ ]
}

Slide Grammar (applies to all slides)

{
  "type": "slideType",
  "start": 0,
  "end": 5,
  "data": [ /* semantic items */ ]
}

Timing values are structural only. Interpretation belongs to the player.

Canonical Slide Types (16)

1. barChart

{
  "type": "barChart",
  "start": 50,
  "end": 55,
  "data": [
    { "name": "bar", "label": "A", "value": 3, "showAt": 50 }
  ]
}

2. bulletList

{
  "type": "bulletList",
  "start": 10,
  "end": 15,
  "data": [
    { "name": "bullet", "content": "Point one", "showAt": 10 },
    { "name": "bullet", "content": "Point two", "showAt": 11 }
  ]
}

3. eq

{
  "type": "eq",
  "start": 70,
  "end": 80,
  "data": [
    {
      "name": "line",
      "type": "heading",
      "content": "Equation",
      "showAt": 70
    },
    {
      "name": "line",
      "type": "math",
      "content": "$(a+b)^2$",
      "showAt": 71
    }
  ]
}

4. fillImage

{
  "type": "fillImage",
  "start": 80,
  "end": 85,
  "data": [
    { "name": "image", "content": "image.png", "showAt": 80 }
  ]
}

5. imageLeftBulletsRight

{
  "type": "imageLeftBulletsRight",
  "start": 35,
  "end": 40,
  "data": [
    { "name": "image", "content": "image.png", "showAt": 35 },
    { "name": "bullet", "content": "Point one", "showAt": 36 }
  ]
}

6. imageRightBulletsLeft

{
  "type": "imageRightBulletsLeft",
  "start": 40,
  "end": 45,
  "data": [
    { "name": "image", "content": "image.png", "showAt": 40 },
    { "name": "bullet", "content": "Point one", "showAt": 41 }
  ]
}

7. imageSlide

{
  "type": "imageSlide",
  "start": 20,
  "end": 25,
  "data": [
    { "name": "image", "content": "image.png", "showAt": 20 }
  ]
}

8. imageWithCaption

{
  "type": "imageWithCaption",
  "start": 30,
  "end": 35,
  "data": [
    { "name": "image", "content": "image.png", "showAt": 30 },
    { "name": "caption", "content": "Caption text", "showAt": 31 }
  ]
}

9. imageWithTitle

{
  "type": "imageWithTitle",
  "start": 25,
  "end": 30,
  "data": [
    { "name": "title", "content": "Visual concept", "showAt": 25 },
    { "name": "image", "content": "image.png", "showAt": 26 }
  ]
}

10. keyIdeasSlide

{
  "type": "keyIdeasSlide",
  "start": 65,
  "end": 70,
  "data": [
    { "name": "card", "icon": "🧠", "label": "Focus", "showAt": 65 },
    { "name": "card", "icon": "📘", "label": "Clarity", "showAt": 66 }
  ]
}

11. progressbar

{
  "type": "progressbar",
  "start": 55,
  "end": 60,
  "data": [
    { "name": "bar", "label": "Progress", "value": 60, "showAt": 55 }
  ]
}

12. quoteSlide

{
  "type": "quoteSlide",
  "start": 60,
  "end": 65,
  "data": [
    { "name": "quote", "content": "Clarity matters.", "showAt": 60 },
    { "name": "author", "content": "— Taleem", "showAt": 61 }
  ]
}

13. table

{
  "type": "table",
  "start": 45,
  "end": 50,
  "data": [
    ["Column A", "Column B"],
    ["Value 1", "Value 2"]
  ]
}

14. titleAndPara

{
  "type": "titleAndPara",
  "start": 5,
  "end": 10,
  "data": [
    { "name": "title", "content": "Concept", "showAt": 5 },
    { "name": "para", "content": "Explanation text", "showAt": 6 }
  ]
}

15. titleAndSubtitle

{
  "type": "titleAndSubtitle",
  "start": 0,
  "end": 5,
  "data": [
    { "name": "title", "content": "Main title", "showAt": 0 },
    { "name": "subtitle", "content": "Secondary line", "showAt": 1 }
  ]
}

16. twoColumnText

{
  "type": "twoColumnText",
  "start": 15,
  "end": 20,
  "data": [
    { "name": "left", "content": "Left text", "showAt": 15 },
    { "name": "right", "content": "Right text", "showAt": 16 }
  ]
}

Status & Stability

The slide system defined in this document is complete and frozen for deck-v1.

Future slides, if any, belong to external slide bundles or to a future deck version, not to this schema.

If a deck validates against this document, it is valid Taleem data.

Status & Stability

The slide system defined in this document is complete and frozen for deck-v1.

Future slides, if any, belong to external slide bundles or to a future deck version, not to this schema.

If a deck validates against this document, it is valid Taleem data.