npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

taleem-engine

v1.0.1

Published

Deterministic educational presentation engine

Readme

Taleem Engine

taleem-engine is a deterministic educational presentation engine.

API documentation: https://bilza2023.github.io/taleem-engine/


Documentation

It provides a complete authoring pipeline:

DSL
→ Compiler
→ HTML
→ Actions
→ Groups
→ Player

The engine transforms structured slide definitions into deterministic presentation JSON that can be rendered by any compatible player.


Philosophy

Taleem is built around one core principle:

Author once.
Render anywhere.

The engine itself:

  • does NOT manipulate DOM
  • does NOT run animations
  • does NOT manage playback
  • does NOT contain UI logic

Instead:

taleem-engine
=
pure compilation system

The engine compiles declarative educational content into:

  • HTML
  • animation groups
  • deterministic action timelines

Installation

npm install taleem-engine

Quick Example

import { Taleem }
  from "taleem-engine";

const taleem =
  new Taleem();

taleem
  .at(0)

  .titleAndSubtitle()

  .title(
    "Introduction",
    0
  )

  .subtitle(
    "Learning Taleem Engine",
    3
  );

taleem.end(10);

const presentation =
  taleem.compile();

console.log(presentation);

Core Architecture

Authoring DSL
↓
Slide Templates
↓
Animation Primitives
↓
Compiled Presentation JSON
↓
Player

System Layers

1. DSL Layer

The DSL is the authoring API.

Example:

taleem
  .at(0)

  .bulletList()

  .bullet(
    "Point one",
    0
  )

  .bullet(
    "Point two",
    2
  );

The DSL creates:

  • structured slide definitions
  • normalized timing intent
  • canonical educational data

2. Templates

Templates compile slides into HTML.

Example:

bulletList
→ compileBulletList()

eq
→ compileEq()

imageGrid
→ compileImageGrid()

Templates:

  • generate HTML
  • assign ids
  • define primitive behavior

Templates do NOT:

  • run animations
  • manage playback
  • manipulate DOM

3. Animation Primitives

Animation primitives generate deterministic state transitions.

Current primitives:

progressiveReveal
focusOne
eqHighlightOne
showOneAtATime

Primitives generate:

{
  groups,
  actions
}

Example action:

{
  time: 10,

  state: {
    hidden: [],
    focus: ["item-2"],
    dim: ["item-1"]
  }
}

4. Compiler

The compiler orchestrates the full pipeline.

Responsibilities:

  • compile timings
  • resolve asset paths
  • compile templates
  • run primitives
  • generate final presentation JSON

Output:

{
  name,
  background,
  deck
}

5. Player

The player is intentionally dumb.

The player only:

  • renders HTML
  • applies classes
  • executes actions

The player does NOT understand:

  • educational semantics
  • slide meaning
  • authoring logic
  • timing reasoning

All intelligence lives inside the engine.


Supported Slides

titleAndSubtitle
titleAndPara
bulletList
twoColumnText
imageSlide
imageWithTitle
imageWithCaption
imageLeftBulletsRight
imageRightBulletsLeft
table
barChart
progressbar
quoteSlide
keyIdeasSlide
focusList
eq
fillImage
imageStrip
imageGrid
textGrid
skeleton

Animation Model

Most slides use:

progressiveReveal

Specialized slides use:

focusOne
eqHighlightOne
showOneAtATime

This keeps the system:

  • deterministic
  • composable
  • scalable
  • minimal

Asset Resolution

Images are intentionally authored simply:

.image("image.png", 10)

During compilation:

resolveAssetPaths()

patches paths using:

taleem.metaData.base =
  "/content/images/";

Result:

/content/images/image.png

This keeps authoring clean while preserving deployment flexibility.


Deterministic Output

The same input always produces the same output.

This allows Taleem presentations to support:

  • HTML players
  • React renderers
  • Canvas renderers
  • video export
  • PDF export
  • AI generation pipelines
  • offline playback
  • static export systems

without changing authoring syntax.


Design Principles

Deterministic

Same input → same output.


Dumb Player

All intelligence lives in the compiler.


Declarative Authoring

Authors describe:

  • what exists
  • when it appears

The engine handles execution.


Minimal Primitive Set

A small primitive system powers the entire engine.


Testing

The engine includes deterministic compiler tests powered by Vitest.

Run tests:

npm test

Current test coverage includes:

  • golden deck compilation
  • eq slide compilation
  • timing resolution
  • primitive generation
  • asset resolution

Current Status

taleem-engine now supports:

  • full canonical slide coverage
  • deterministic animation timelines
  • educational focus systems
  • equation walkthroughs
  • progressive reveal systems
  • asset resolution
  • executable presentation JSON

The engine is production-ready for:

  • educational decks
  • AI-generated slides
  • structured lessons
  • Taleem ecosystem tooling

Future Direction

Potential future expansions:

  • themes
  • narration metadata
  • localization
  • accessibility layers
  • video export
  • collaborative authoring
  • interactive overlays
  • AI-assisted lesson generation

The current architecture already supports these directions without major redesign.


Final Summary

taleem-engine is not a slide renderer.

It is a:

deterministic educational presentation compiler

built around:

  • declarative authoring
  • deterministic state
  • composable primitives
  • player simplicity
  • scalable educational storytelling