gioser

tawasuyu/nahual

Open-with viewers (text/image/audio/video/svg/font/hex/…) in Rust, on Llimphi.

Rust 49TOML 23Markdown 19JSON 11062 Sutichaykuna

README.md

nahual

nahual (Nahuatl: companion spirit). Everyday "open-with" viewers, in Rust, on Llimphi.

nahual is the set of viewers a desktop user expects — a file shell that dispatches the right viewer by content, plus viewers for text, images, audio, video, SVG, maps, fonts, hex, tables, markdown, archives and more. All render on the same GPU-accelerated Llimphi UI. A meta-runtime lets you define a new viewer from a JSON schema, with no Rust.

<p align="center"> <img src="docs/nahual_showreel.gif" alt="nahual showreel — a Dopus-style file manager: folder tree, session tabs, icon grid with real thumbnails, and browse-and-preview with a content-dispatched viewer" width="900"> <br> <sub>a file manager with real thumbnails + browse-and-preview, the viewer dispatched by content</sub> </p>

Run

cargo run --release -p nahual-shell-llimphi          # the open-with shell (dispatches by content)
cargo run --release -p nahual-file-explorer-llimphi  # file tree
cargo run --release -p nahual-image-viewer-llimphi   # image viewer
cargo run --release -p nahual-text-viewer-llimphi    # text viewer

Viewers

text · image (PNG/JPEG/WebP) · audio · video · svg · map (geo) · font (TTF/OTF glyph outlines) · hex · table · markdown · archive (zip/tar) · card · gallery · tree — plus nahual-viewer-core / nahual-source-core / nahual-thumb-core and the meta-runtime + meta-schema libraries.

How dependencies work

This is a clean front-door repo: it contains only nahual's own crates. Everything else is pulled as a git dependency —

No vendoring, no duplication. First build clones those repos (cached afterwards).

Considerations

License

MIT. Builds on Llimphi and the tawasuyu suite.