Anima is a standalone terminal animation toolkit from Yazelix. It works in any capable terminal; no Yazelix installation is required.
The user-facing command is yzs
nix run github:Yazelix/anima#yzs
nix run github:Yazelix/anima#yzs -- static
nix run github:Yazelix/anima#yzs -- asciiquarium --duration-seconds 3
nix run github:Yazelix/anima#yzs -- mandelbrot
nix run github:Yazelix/anima#yzs -- game_of_life_bloom --cell-style dotted
nix run github:Yazelix/anima#yzs -- random --duration-seconds 3- Animation engines for Boids, Mandelbrot, and Game of Life
- The separately packaged
asciiquarium-rsterminal aquarium - Static and logo-style Yazelix welcome screens
- File-backed Kitty PNG frame sequence rendering
- Frame production through
ScreenFrameProducer - Terminal sizing helpers and alternate-screen rendering helpers
- A standalone
yzsbinary with interactive and timed playback - Small examples for library consumers
Installed standalone command:
yzs --help
yzs
yzs static
yzs asciiquarium --duration-seconds 3
yzs mandelbrot
yzs game_of_life_bloom --cell-style dotted
yzs random --duration-seconds 3Yazelix users get the integrated screen surface through the main command:
yzx screen
yzx screen mandelbrotFrom this repository:
cargo run --bin yzs -- --help
cargo run --bin yzs -- static
cargo run --bin yzs -- asciiquarium --duration-seconds 3
cargo run --bin yzs -- mandelbrot
cargo run --bin yzs -- game_of_life_bloom --cell-style dotted
cargo run --bin yzs -- random --duration-seconds 3Source-only Cargo runs resolve asciiquarium-rs from PATH; Nix runs use the
pinned upstream executable
With Nix:
nix build .#yzs
nix run .#yzs -- --help
nix run .#yzs -- static
nix run .#yzs -- asciiquarium --duration-seconds 3
nix run .#yzs -- mandelbrot
nix run .#yzs -- random --duration-seconds 3Supported styles:
staticlogoasciiquariumboidsboids_predatorboids_schoolsmandelbrotgame_of_life_glidersgame_of_life_oscillatorsgame_of_life_bloomrandom
No style means random
Random chooses from the animated styles, excluding static and logo; use
those styles explicitly for the card-like welcome screens
The aquarium runs as a separate
asciiquarium-rs process under
its GPL-2.0-or-later license. yzs supplies the same any-key exit and optional
duration contract used by its native styles without copying or linking the
aquarium implementation. The packaged upstream revision exits cleanly when its
terminal disappears, so closing the containing terminal cannot orphan it
Render one frame without alternate-screen mode:
cargo run --example render_oncePlay a style for a bounded number of frames:
cargo run --example play_style -- mandelbrot 90
cargo run --example play_style -- boids_schools 120
cargo run --example play_style -- game_of_life_gliders 80The second argument is the frame count. The examples use only yazelix_screen APIs and standard Rust APIs
yazelix_screen owns reusable animation and terminal-rendering primitives, including standalone Yazelix-branded screen styles. Integrated welcome/session policy stays outside the crate
The crate must not depend on:
yazelix_coresettings.jsonc- generated Yazelix config or state
- Zellij session state
- Home Manager install state
- Yazelix command palette or workspace orchestration
Yazelix consumes this crate for integrated rendering. yzx screen is the integrated Yazelix command; yzs is the standalone command for terminal users who want only the screen animations
- Product/repository:
anima - Command:
yzs - Rust crate:
yazelix_screen - Integrated Yazelix command:
yzx screen
External releases use SemVer. Breaking changes to frame producer traits, style names, terminal-mode helpers, or cell-style parsing require a major version bump
Component tags should use:
v0.1.0
From this repository:
cargo fmt --all -- --check
cargo check --examples
cargo test
cargo run --bin yzs -- --help
cargo run --example render_once
nix build .#yzs
nix run .#yzs -- --help