InteractiveLesson
Multimedia lessons with slides, interactive widgets, adaptive quizzes and STEM drawing canvases.
Activated with: --output-type INTERACTIVE_LESSON
The Curator Pipeline is ColabEdu’s AI engine that transforms educational documents into structured, assessable interactive content — ready to be consumed by the A2UI platform.
The Curator produces three main types of interactive specifications:
InteractiveLesson
Multimedia lessons with slides, interactive widgets, adaptive quizzes and STEM drawing canvases.
Activated with: --output-type INTERACTIVE_LESSON
ExerciseSpec
Assessable exercises with AI rubric: essays, quizzes, Socratic debate, digital whiteboards and guided activities.
Activated with: --output-type EXERCISE
ResourceLearning
Enriched pedagogical resources: flashcards, infographics, glossaries and curricular reference materials.
Activated with: --output-type RESOURCE_LEARNING
The Curator accepts content from multiple origins:
The most powerful flow: transforms exported LMS packages directly into ColabEdu interactive lessons.
| Format | Source Platform | Notes |
|---|---|---|
.imscc | Canvas LMS | HTML pages, assets and XML manifest |
.mbz | Moodle | Full backup with activities and resources |
.zip SCORM | Any LMS | Structured HTML + asset map |
Example CLI usage:
ce-cli.sh curator curate \ --file ./biology_bach1.imscc \ --output-type INTERACTIVE_LESSON \ --adaptive \ --locale enThe --adaptive flag activates dynamic quiz routing (on_success / on_fail),
enabling personalized navigation paths based on student performance.
The Curator can process curricular documents in PDF or Word and automatically extract the pedagogical structure (modules → lessons → slides).
Supported formats:
Example:
ce-cli.sh curator curate \ --file ./biology_syllabus.pdf \ --output-type INTERACTIVE_LESSON \ --locale en \ --curricular-ref global.c0.ib.spanish_b.hl.paper1.v1For programmatic integrations, the Curator accepts content extracted directly from the Canvas or Moodle API.
REST API parameters:
POST /api/v1/curator/curate{ "inputVariables": { "lms_manifest_xml": "<manifest>...</manifest>", "extracted_html_content": "=== RESOURCE: Lesson 1 ===\n...", "asset_url_map": { "images/diagram.png": "https://storage.googleapis.com/..." }, "with_quiz_routing": true }, "outputType": "INTERACTIVE_LESSON", "locale": "en"}The Curator can operate in headless batch mode over a full
ce-specs repository, ingesting multiple specifications in a single run.
# Sync and ingest the full local catalog./sync_specs.sh local GLOBAL
# Sync from Git (production)./sync_specs.sh git GLOBALSee Catalog Reference for the full list of available IDs.
When the Curator generates an ExerciseSpec, it selects the most
appropriate ExerciseType based on the curricular context:
| ExerciseType | Description | Evaluation |
|---|---|---|
core.etype.mixed_quiz.v1 | Mixed quiz (MCQ + fill-blank) | Deterministic AI |
core.etype.split_pane_essay.v1 | Guided essay in split-pane | AI Rubric |
core.etype.socratic_tutor.v1 | Socratic tutor (chatbot) | AI Log + rubric |
core.etype.socratic_debate.v1 | Oral Socratic debate | AI Log |
core.etype.multimodal_mcq.v1 | MCQ with image / chart | Deterministic AI |
core.etype.grouping.v1 | Drag-and-drop classification | Deterministic AI |
core.etype.matching.v1 | Matching pairs | Deterministic AI |
core.etype.ordering.v1 | Chronological ordering | Deterministic AI |
global.exercise_type.free_text.v1 | Free essay / open response | AI Rubric |
global.exercise_type.mcq.v1 | Classic multiple choice | Deterministic AI |
global.exercise_type.guided_activity.v1 | AI-guided activity | AI Log + rubric |
global.exercise_type.whiteboard.v1 | Digital whiteboard (free draw) | Vision AI (PNG) |
An InteractiveLesson is a sequence of slides, each with a layout
and optional widgets. The Curator acts as an autonomous Art Director:
it selects the most appropriate layout for each content block.
| Layout | Optimal use |
|---|---|
title | Cover — large title + background image |
split | Concept + interactive widget (50/50) |
quote | Definition, axiom or law (≤60 words, dark background) |
image | Full-screen image with caption |
full | Mermaid diagram or full-screen widget |
content | Long text in enriched Markdown |
video | Video player with transcript |
Widgets are embedded in any slide with the embeddedWidget syntax:
embeddedWidget: type: quiz_widget # ← Comprehension check props: questions: [...] routes: # Adaptive routing (activated with --adaptive) on_success: slide_advanced on_fail: slide_reviewAvailable widgets:
quiz_widget — Quiz with adaptive routing on_success / on_failmermaid_viewer — Diagram auto-generated by the Curatormarkdown_editor — Open text editor (synthesis, micro-essay)grouping_widget — Drag-and-drop classificationscratchpad_widget — Free-draw canvas for STEMwhiteboard_widget — Digital whiteboard with Gemini Vision evaluationThe global.exercise_type.whiteboard.v1 ExerciseType enables
drawing exercises automatically evaluated by Gemini Vision on the PNG
captured from the student’s canvas.
Mathematics
Equation solving, function graphing, geometry and linear algebra. The student shows the step-by-step process on the canvas.
Sciences
Force diagrams (Physics), chemical reactions, anatomical schematics (Biology) and electrical circuits.
Student draws on canvas ↓[PNG captured on "Submit"] ↓Backend → Gemini Vision API ↓C0 Rubric applied (global.c0.whiteboard.stem.math.v1) ↓Feedback on 4 criteria: · Completeness · Conceptual correctness · Clarity · Process visibilityapiVersion: colabedu.ai/v1beta1kind: Recipemetadata: id: global.c1.stem.math.functions.whiteboard.v1spec: assembly: param_refs: - global.exercise_type.whiteboard.v1 rubric_refs: - global.c0.whiteboard.stem.math.v1 interaction_mode: split_pane evaluation: capture_format: png evaluator: vision_ai feedback_on_submit: trueLMS Document (.imscc / .mbz / .pdf) ↓ [Curator CLI / REST API] ↓ NativeMultimodalDocumentProcessor ↓ Curator Gem (curator_lesson v1.3.0) ↓ InteractiveLesson YAML → SpecManager ↓ A2UI (Flutter) renders the lesson# Interactive lesson from LMS package with adaptive routingce-cli.sh curator curate \ --file ./canvas_export.imscc \ --output-type INTERACTIVE_LESSON \ --adaptive \ --locale en
# STEM whiteboard exercise from math PDFce-cli.sh curator curate \ --file ./math_calculus.pdf \ --output-type EXERCISE \ --exercise-type global.exercise_type.whiteboard.v1 \ --locale en
# Test with predefined manifestce-cli.sh curator test \ --manifest ./tests/lms_curator_test_manifest.yaml \ --output-type INTERACTIVE_LESSON