Package Metadata01
aisling is tracked from the Tknott95 crates.io catalog because it is above the 64-download threshold. Current tracked version is 0.3.17, with 302 downloads across 6 versions.
Source Documentation Links02
crates.io: https://crates.io/crates/aisling
Docs index: https://docs.rs/crate/aisling/latest
API docs: https://docs.rs/aisling/latest/aisling/
Cargo source: https://docs.rs/crate/aisling/latest/source/
Keep public site links pointed to crates.io/docs.rs while backend-published formal docs are prepared.
Crates.io / Docs.rs Facts03
crates.io categories: rendering, graphics, command-line-interface.
crates.io keywords: animation, ansi, effects, terminal, tui.
docs.rs package facts: 4.35% documented, 13 of 299 items documented, 1 of 98 items with examples, source code size 326.02 kB, documentation size 4.44 MB.
docs.rs dependencies: none for normal dependencies.
What It Is04
Aisling renders animated text effects, spinners, and progress loaders as plain Rust data.
It does not own the terminal, start an event loop, sleep, or print unless an included example does that. Apps drive iterators or request loader frames, then map styled Frame/Cell data into Ratatui, Crossterm, ANSI output, tests, logs, or a custom renderer.
Install And Quick Start05
Install:
cargo add aisling
Cargo.toml: aisling = "0.3.17"
Core quick start: create EffectConfig, choose an EffectKind such as Matrix or Wipe, call Effect::with_config(kind, text, config), iterate effect.iter(), then use frame.to_plain_string(), frame.to_ansi_string(), or map frame.cells() into a UI buffer.
Loader quick start: create Loader::with_config(LoaderKind::Tqdm, LoaderConfig...), then call loader.frame(tick, LoaderProgress::from_counts(done, total)) or loader.line(tick, progress).
Important Types06
Effect owns the effect kind, input text, and config.
EffectKind selects built-in effects such as matrix, wipe, burn, laseretch, thunderstorm, rings, swarm, glitch, cascade, gridpulse, and more.
EffectConfig controls duration, seed, gradient, canvas size, color handling, ANSI color preservation, no-color mode, easing, and tab width.
Loader, LoaderKind, LoaderConfig, and LoaderProgress cover tqdm, download, upload, battery, gauge, rain, thunderstorm, lasersweep, gridpulse, and the broader loader catalog.
Frame is a fixed-size rendered grid; Cell carries character, foreground/background colors, and simple styles.
Examples And Verification07
Example commands:
cargo run --example demo -- wipe "Hello from Aisling"
cargo run --example demo -- matrix "opencode style"
cargo run --example loaders -- tqdm --label download
cargo run --example story -- --seconds 90 --fps 12.
Helper scripts:
./run.sh list
./run.sh all "Aisling"
./run.sh showcase --industrial --seconds 60
./loaders.sh
./story.sh
./text_effects.sh.
Before publishing:
cargo fmt
cargo test
cargo package --allow-dirty
cargo publish.