Skip to content

Better slides generation - #15

Open
rayankzi wants to merge 32 commits into
DaRL-GenAI:mainfrom
rayankzi:better-slides-generation
Open

rayankzi wants to merge 32 commits into
DaRL-GenAI:mainfrom
rayankzi:better-slides-generation

Conversation

@rayankzi

@rayankzi rayankzi commented Aug 6, 2026

Copy link
Copy Markdown

Summary

I adedd a course-wide presentation-design decision and a deterministic frontend slide pipeline while preserving the existing Beamer workflow. Each chapter still produces slides.tex and slides.pdf, with additional offline HTML, HTML-derived PDF, and image-based PPTX outputs.

New Features

  • A 7th foundational deliberation that selects and freezes one validated presentation style for the course.
  • Converts finalized Beamer slides into portable offline HTML with correlated presenter notes, then exports appearance-preserving PDF and PPTX artifacts.
  • Adds Beamer preflight repairs, stable one-frame/one-note correspondence, atomic output handling, and manifest-based resume/invalidation.
  • Adds optional AI-generated instructional images and optional Carbon-rendered code snippets; both are disabled by default.
  • Adds CLI/API controls, packaged styles/fonts/MathJax assets, English documentation, and unit coverage for the new workflow.

The Beamer source/PDF path remains intact. Generated images and Carbon output affect only the frontend-derived artifacts. Playwright Chromium is required for HTML-derived PDF/PPTX export, while LaTeX remains required for Beamer PDF generation.

For implementation details, artifact schemas, configuration behavior, and operational notes, see the file in docs/BETTER_SLIDES_GENERATION.md for more info.

Validation

183 passed, 2 skipped
git diff --check: clean

wingsweihua and others added 30 commits April 30, 2026 14:32
Optimize now supports two strategies, selectable per run:
- regenerate (default, unchanged): per-slide multi-agent deliberation that
  rewrites every slide from scratch.
- refine (new): localized, frame-level rewrite via SlideRefiner. Builds an
  escaped baseline deck from the existing slides, then surgically edits only
  the frames most relevant to the feedback, leaving the rest byte-identical,
  with deterministic body/document validation and retries.

SlideRefiner is extracted from the IA-aarsh refiner pipeline, decoupled from
its LLM-as-judge evaluation: it takes (latex, feedback_text) and here the
feedback is sourced from the user's requirements, analysis, and human feedback.

Threads a `mode` option through optimize.py, ADDIE_optimize.py, run.py, the
/api/optimize API, and the frontend optimize form (with zh/en strings).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…efine

Add localized "refine" mode to optimize (alongside regenerate)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants