termcinema-engine 0.1.0

🧠 Core typewriter-style terminal animation engine (SVG renderer) for termcinema
Documentation
//! Terminal Cinematic Renderer — render styled terminal sessions as SVG animations.
//!
//! This crate provides the core logic for formatting, styling, and rendering
//! terminal-like output (shell sessions, REPLs, CLI tools) into SVG or other formats.
//!
//! It exposes configurable options for font, color, layout, cursor behavior, and animation control.
//!
//! # Key Features
//! - Built-in theme presets (`ThemePreset`)
//! - Style and layout config (`StyleSpec`, `LayoutSpec`, etc.)
//! - Typing animations with customizable speed and fade (`ControlSpec`)
//! - Font resolution (embedded + system fonts)
//! - Text parsing for shell/REPL-style sessions
//!
//! For CLI integration, see `termcinema-cli`. For advanced control, access core APIs directly.
//!
//! Powered by Rust 🦀 + SVG ✨

mod constants;
mod core;
mod parser;
mod render;

// ───────────────🎯 Public API ───────────────

pub use render::glue::*;

// Core configuration and utilities
pub use core::{
    CommandGroup, ContentSpec, ControlSpec, CursorSpec, LayoutSpec, StyleSpec, TextAlign,
    ThemeError, ThemePreset, VerticalAlign, all_presets, get_theme_by_name,
    list_builtin_system_fonts, list_embeddable_font_families, recommended_fonts_for_current_os,
    resolve_embedded_font, resolve_theme,
};

// Default values for visual and timing settings
pub use constants::*;