1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//! ๐ฌ Termcinema SDK โ Programmatic SVG renderer for cinematic terminals
//!
//! This crate exposes the **SDK layer** of [`termcinema`](https://github.com/...) as a reusable Rust API.
//! It's designed for integrations beyond CLI, with a pure functional interface that avoids all I/O.
//!
//! ๐ง Use this crate if you want to:
//!
//! - Embed terminal-style animations into **WASM apps** or **GUI frontends** ๐ธ
//! - Build **Python bindings** or other FFI-based scripting integrations ๐
//! - Render SVGs in **TUI playgrounds**, editors, or pipelines ๐งช
//! - Treat the CLI layer as optional and just use the core logic ๐
//!
//! # โจ Features
//!
//! - โ
Stateless rendering (pure functions, no side effects)
//! - ๐จ Full control over style, layout, themes, and animation
//! - ๐งฉ Based on `termcinema-engine`, with layout and theme adapters
//! - ๐งฑ Designed for sandboxed runtimes like WASM, FFI, embedded
//!
//! # ๐ Quick Start
//!
//! ```rust
//! use termcinema_cli::{CliArgs, render_svg_direct};
//!
//! let args = CliArgs {
//! theme: Some("retro_tty".into()),
//! ..Default::default()
//! };
//!
//! let svg = render_svg_direct("echo Hello", &args).unwrap();
//! assert!(svg.contains("<svg"));
//! ```
//!
//! See [`CliArgs`] for all customization options and usage patterns.
//
// ๐งฉ Public API Exports
//
/// Style, layout, theme, and animation configuration.
pub use CliArgs;
/// Returns a default `CliArgs` instance.
pub use default_args;
/// Renders SVG output from raw text and configuration.
pub use render_svg_direct;
/// Lists all built-in theme names.
pub use available_theme_names;