zoa
A 3D ASCII renderer for terminals, built on ratatui.
Features
- 3D Shapes - Torus, cube, sphere, and custom OBJ/STL mesh support
- Particle Systems - Fire, rain, snow, sparks, and more
- SDF Ray Marching - Metaballs, fractals, and procedural geometry
- Animated GIFs - Render GIFs as ASCII art
- Countdown Timer - Large ASCII digit display
- Multiple Styles - ASCII, blocks, braille, hatching characters
- Color Palettes - Cyan, fire, matrix, purple, rainbow, grayscale
Installation
[]
= "0.1"
Quick Start
use ZoaWidget;
use Frame;
let mut widget = default;
// In your render loop:
Loading Content
// 3D mesh from OBJ file
widget.load_mesh?;
// Animated GIF
widget.load_gif?;
// Countdown timer
widget.start_countdown_from_str?; // 5 minutes
widget.start_countdown_from_str?; // 1 min 30 sec
Configuration
use ;
let config = ZoaConfig ;
let mut widget = new;
CLI
# 3D shapes
# Files
# Countdown timer
# Fullscreen timer
Controls
| Key | Action |
|---|---|
s |
Cycle shapes |
c |
Cycle character styles |
p |
Cycle color palettes |
m |
Toggle wireframe/solid |
+/- |
Zoom in/out |
[/] |
Adjust speed |
Space |
Pause |
r |
Reset |
q |
Quit |
Examples
License
Apache-2.0