Skip to content

cadenza-dev/cadenza

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

203 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cadenza

For developers and technical communicators who want cinematic, code-reviewable, AI-augmented presentations.

Cadenza is a React + Remotion based presentation framework that brings together four qualities no existing tool has put in one place: React-native authoring, a cinematic motion ceiling, complete presentation semantics (decks, slides, steps, transitions, notes, presenter view), and first-class ergonomics for AI coding agents.

It is not a Gamma replacement. It is not a WYSIWYG slide editor. It is a developer-facing framework for people who write technical talks, data-heavy explainers, and documentation-first decks — and for the AI agents that increasingly help them do so.


Status

Pre-alpha. Current routing phase: Phase 6 Builder, Universal CLI and Local Export Engine.

Phase 1 produced the semantic core: the typed TSX API surface, state-to-timeline compiler, runtime intent/navigation layer, render-safe metadata and DOM helper, validation reports, first authoring skills, and an all-domain MVP fixture. Builder work and the selected closeout remediations are trace-complete in trace/phase1/.

Phase 2 has produced the React + Remotion preview adapter: package boundary, @remotion/player integration, deterministic player navigation, render-safe readiness behavior, browser measurement diagnostics, targeted visual sanity, and active-phase traceability coverage gating. Reviewer closeout is accepted in trace/phase2/review-phase2-closeout.md. MP4/PDF export and hosted rendering remain out of scope.

Phase 3 has strengthened AI authoring: the canonical agent-authored technical deck can compile, mount through the inherited Remotion Player preview path, emit structured diagnostics, and record before/after repair evidence without framework-internal deck edits. Reviewer closeout and selected remediation are accepted in trace/phase3/review-phase3-closeout.md.

Phase 4 has produced the pruned presentation product layer: a canonical dogfood technical talk, a maintainer-facing local Remotion Player preview route, same-browser presenter workflow, visual acceptance evidence, typography and transition diagnostics, technical-talk starters, and product-layer guidance in cadenza-best-practices. Reviewer closeout is accepted in trace/phase4/review-phase4-closeout.md, including maintainer visual sign-off for the dogfood preview. MP4/PDF export, hosted rendering, Remotion Lambda, external alpha claims, tool-based MCP, and multi-device presenter console work were explicitly left out of Phase 4.

Phase 5 closeout is accepted in trace/phase5/review-phase5-closeout.md. It produced the canonical longer technical talk, local export evidence, repair routing, scoped MP4 proof, PDF waiver, and public-surface docs needed before the next local CLI/export pass.

Phase 6 is now open for Builder work from the frozen spec/phase6/ contracts. The active trace is trace/phase6/. Cadenza local export work is focused on a clean-checkout CLI, local static web compatibility output, local MP4 rendering, artifact inspection, and evidence boundaries. The clean-checkout walkthrough is docs/local-export.md. This is local developer infrastructure, not an alpha announcement, npm publication, hosted rendering path, Player App export, or unsupported-format claim.

The current roadmap is ROADMAP.md. Earlier strategic analysis that led to the project lives in docs/analysis/analysis-final.md (English) and docs/analysis/analysis-final.zh.md (中文).


Why Cadenza

The state of the art, honestly stated:

  • Slidev is mature for Markdown-driven slides, but it is Vue-native and caps out on animation complexity.
  • Motion Canvas has world-class motion primitives but an imperative generator paradigm that is hostile to AI code generation and decoupled from DOM ergonomics.
  • Spectacle is React-native but the presentation product layer has been under-invested for years.
  • Remotion is an outstanding rendering and animation backbone — but Remotion upstream has explicitly declined to build a presentation product on top of itself, and its frame-driven model is fundamentally at odds with the event-driven navigation slides require.
  • Gamma, Tome, Beautiful.ai, Copilot + Designer are excellent AI deck tools for business users. They are not developer tools. We are not competing with them.

Cadenza sits in the gap those leave open.


Architecture at a Glance

┌────────────────────────────────────────────────────────────┐
│  Author-facing Typed API (thin, React-native)              │
│  <Deck> / <Slide> / <Step> / <Transition> / <Notes> / ...  │
└──────────────────────────┬─────────────────────────────────┘
                           │
┌──────────────────────────▼─────────────────────────────────┐
│  State-to-Timeline Compiler                                │
│  discrete deck tree → continuous Remotion timeline         │
└──────────────────────────┬─────────────────────────────────┘
                           │
┌──────────────────────────▼────────────────────────────────────┐
│  Render-Safe Component Layer                                  │
│  <SafeImage> / <SafeFont> / <TypographyBox> / <MediaFrame>    │
│  Encapsulates Remotion's asset-loading and timing invariants  │
└──────────────────────────┬────────────────────────────────────┘
                           │
┌──────────────────────────▼─────────────────────────────────┐
│  Remotion Runtime (Player / Transitions / Lambda export)   │
└────────────────────────────────────────────────────────────┘

Four ideas carry the architecture:

  1. Typed API first, DSL last. Agents and authors target a stable TypeScript surface. DSL (if ever needed) is a Phase 3+ concern.
  2. Render-safe layer as default path. Asset-loading traps, font timing, export determinism are absorbed by controlled components. Raw Remotion remains available as an escape hatch.
  3. Skills before MCP. Early AI investment goes into AI-ready docs + system prompts + skill pack. MCP is layered later, once structured lookup becomes a real bottleneck.
  4. TSX-first authoring. Modern LLMs write usable TSX today. We constrain them through the typed API, not through a new language.

See docs/analysis/analysis-final.md §4 for the full argument.


Who This Is For

Built for:

  • Developers giving React Summit / KubeCon / JSConf technical talks
  • Technical writers building data-heavy explainers (statistics, distributed systems, compilers, etc.)
  • Educators producing programming course material
  • Documentation-first teams who want slides as code-reviewable artifacts
  • AI coding agents that generate decks for any of the above

Not built for:

  • Business users looking for AI-generated quarterly decks — see Gamma or Tome
  • Teams that need WYSIWYG editing, real-time collaboration, comments, or version history as a primary workflow — at least not before the core framework reaches 1.0
  • Users who don't want to touch code

If you're not sure whether this is for you, skim goals-non-goals.md and docs/analysis/analysis-final.md §1.2.


License

Cadenza is licensed under the Apache License 2.0. See LICENSE.txt and NOTICE.txt.

A Note on Remotion Licensing

Cadenza is built on top of Remotion. Remotion has its own license that is separate from Cadenza's Apache 2.0 license:

  • Individuals, students, and small teams can use Remotion for free under its Remotion License.
  • Companies above a specified employee threshold require a commercial Remotion license.
  • Remotion Lambda (cloud rendering) is a paid service.

Using Cadenza does not exempt you from Remotion's license requirements. If your organization is subject to Remotion's commercial licensing, you must obtain that license directly from Remotion. Cadenza does not vendor or relicense Remotion. The preview adapter keeps Remotion Player integration behind peer dependencies. @cadenza-dev/export-local declares direct local renderer dependencies on Remotion renderer and bundler packages because local MP4 export is an operational renderer adapter.


Project Governance

  • Maintainer: @DrEden33773 (Eden Wang)
  • Co-maintainers: None yet. Interested? CONTRIBUTING.md will land before broader external contribution intake.
  • Decision record: All significant architectural decisions live in docs/adr/.

Roadmap

Phase Focus Exit Criteria
0 Technical pre-commitment See trace/phase0/status.yaml
1 Core Semantics & Typed API Frozen Phase 1 scenarios are green; the all-domain fixture compiles to deterministic preview/offline TimelineMap signatures; real React/Remotion rendering and export are not claimed
2 React + Remotion Preview Adapter The all-domain fixture renders in a real React + Remotion browser preview with player navigation and render-safe readiness behavior; MP4/PDF export remains out of scope
3 AI Authoring Strengthening Agent-authored decks can be generated, previewed, diagnosed, and repaired through the local validation loop
4 Presentation Product Layer (pruned) Maintainer dogfoods a production-adjacent technical talk through local Remotion Player preview and presenter workflows
5 Export + 0.1 Alpha Readiness A longer technical talk exports through the supported local pipeline with traceable web/format evidence, public-surface docs, and Reviewer acceptance before alpha readiness is claimed
6 Universal CLI and Local Export Engine Clean-checkout local CLI, validate/inspect/export commands, static web compatibility output, local MP4 rendering, and docs/evidence overclaim guards

Full roadmap and rationale: ROADMAP.md.


Contributing

Pre-alpha contributions are currently limited to:

  • Review feedback on ROADMAP.md, completed phase traces, and active local-export trace routing
  • Discussion of architectural decisions in docs/adr/
  • Focused issues that respect goals-non-goals.md

Broader code contributions should wait until the Builder workflow opens a specific contribution surface and CONTRIBUTING.md lands.


Acknowledgements

Cadenza stands on the shoulders of several projects:

  • Remotion — the rendering, transition, and export backbone
  • Slidev — the proof that developer-first slides are viable and worth investing in
  • Motion Canvas — demonstrating just how high a programmatic motion ceiling can go

Links

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors