An open API service indexing awesome lists of open source software.

https://github.com/asciimoth/3a

ASCII art file format
https://github.com/asciimoth/3a

3a animated-ascii-art ascii ascii-animation ascii-art ascii-graphics asciiart file-format specification text-format

Last synced: 4 months ago
JSON representation

ASCII art file format

Awesome Lists containing this project

README

          

# Animated Ascii Art (3a)
[![3a logo](./logo.webp)](./logo.3a)

3A (Animated ASCII Art) is a straightforward, human-readable text format for
storing ASCII animations. It is disigned to be easy editable in any text editor
without spechial software needed. Espechially it textual representation preserves
art layout unlike plaintext with ANSI escape codes which is historically used to
store ASCII art.

You can read new 3a spec in [3a.md](./3a.md) and old deperecated one in [3a_legacy_spec.md](./3a_legacy_spec.md).

# Motivation
Back in 2020 I was ricing my linux system and planned to use ASCII animations
in rice.
For some reason, I assumed that there was a common file format for such
animations and tools for working with it, but it turned out that this was not
the case. Therefore, I developed 3a.

# Art Examples
[logo.3a](./logo.3a) is an official 3a format example.
You can also find more 3a art [here](https://github.com/asciimoth/3a_storage).

# Software Implementations
- tools
- [aaa](https://github.com/asciimoth/aaa) - Swiss Army knife tool for animated ascii art
- play 3a in terminal
- convert 3a to asciicast/durformat/png/gif/webp/mp4/etc
- editing api
- libs
- [rs3a](https://github.com/asciimoth/rs3a)
- [py3a](https://github.com/asciimoth/py3a)
- [go3a](https://github.com/asciimoth/go3a)

# Similar Projects
- [durdraw](https://github.com/cmang/durdraw) is a TUI ascii art editor with it's own format (gzipped json) with animations support.
- [nuru](https://github.com/domsson/nuru) is a binary ascii art format. Seems abandoned.

# TODO
- [X] [MIME info](https://specifications.freedesktop.org/shared-mime-info) files
- [ ] Compact binary format
- implementations
- [X] rust
- [X] go
- [X] python
- [ ] JS
- [ ] lua
- [ ] zig
- [ ] odin
- conversions to other formats
- [X] SVG
- [X] asciicast
- [X] durdraw
- [X] ttyrec
- [X] png
- [X] gif
- [X] webp
- [X] mp4
- [ ] Image/gif/video to 3a conversion
- text editors support
- [ ] vim, nvim
- [ ] VsCode
- [ ] emacs?
- ascii editors
- [ ] [playscii export plugin](https://jplebreton.com/playscii/howto_art.html#importandexport)
- [ ] LSP?
- [ ] 3a specific ascii art editor
- file managers / viewers support
- [ ] yazi
- [ ] ranger
- [ ] n3?
- [ ] [allmytoes](https://gitlab.com/allmytoes/allmytoes)?
- syntax highliters
- [ ] bat
- [ ] tree-sitter

# License
Files in this repository are distributed under the [CC0 license](./LICENSE).



CC0



To the extent possible under law,

asciimoth

has waived all copyright and related or neighboring rights to
3a.