System Overview

Taleem is built as a small number of strict, independent layers.

Each layer has a single responsibility. No layer overlaps with another.

This structure is not stylistic. It exists to prevent long-term architectural collapse.

The Core Principle

Structure flows downward. Control never flows upward.

Every Taleem system can be understood by reading from top to bottom.

The Layer Stack

Schema → Renderer → Engine → UI

Each layer consumes the output of the layer above it and exposes a simpler surface to the layer below.

1. Schema (Format)

The schema defines what a Taleem deck is.

It is pure, declarative data.

If data does not conform to the schema, it is not a Taleem deck.

2. Renderer

The renderer converts validated schema data into concrete HTML.

It owns:

The renderer does not know:

Rendering happens exactly once.

3. Engines

Engines decide which rendered output is visible.

They operate on rendered slides, not on raw schema data.

Taleem provides two engines:

Engines:

Engines treat slides as opaque units.

Time Ownership

Time exists in exactly one place.

Time lives only in the player engine.

The browser engine is completely time-agnostic.

This separation allows the same deck to be:

Without rewriting content.

4. UI / Controls

The UI layer handles user interaction.

It may include:

The UI:

UI is replaceable. Engines and content are not affected.

Why This Structure Exists

Most systems fail because responsibilities blur over time.

Logic leaks upward. Data becomes reactive. Behavior becomes implicit.

Taleem avoids this by enforcing:

If a feature does not clearly belong to one layer, it does not belong in the system.