
3a: Формат и тулинг для создания ASCII-анимаций
AsciiMoth 4 часа назад 3a: Формат и тулинг для создания ASCII-анимаций Простой 6 мин 3.5K Rust * Графический дизайн * Компьютерная анимация * Настройка Linux * Разработка игр * Обзор Про ASCII-арт на хабре скорее всего...
Anthropic — What company has the best second artificial intelligence model at the end of June?
В сфере искусственного интеллекта произошло заметное событие. AsciiMoth 4 часа назад 3a: Формат и тулинг для создания ASCII-анимаций Простой 6 мин 3. 5K Rust * Графический дизайн * Компьютерная анимация * Настройка Linux * Разработка игр * Обзор Про ASCII-арт на хабре скорее всего знают большинство, да и писали тут о нем неоднократно, но давайте дежурно. ASCII-арт это способ рисовать обычным текстом.
Вместо пикселей здесь символы, вместо графического редактора - любой текстовый редактор, а вместо программы для просотра - cat и терминал. o ) > ^ <Исторически под ASCII-артом часто понимают вообще любое текстовое искусство, даже если оно давно вышло за пределы собственно ASCII и использует Unicode, ANSI-цвета, псевдографику, Braille-символы, управляющие последовательности терминала итд. В этой статье я тоже буду использовать термин в широком смысле: изображение или анимация, которую можно хранить, редактировать и показывать как текст.
Технические детали
Зачем очередной форматЛет пять назад, еще до того как у меня окончательно выветрился интерес к кастомизации вненего вида ОС, я хотел непременно прикрутить анимированное ASCII-лого своего дистрибутива в neofetch ради красивых гифок для r/unixporn. Я уже видел примеры анимированных фетчей и по какой-то причине полагал, что для такого существует некоторый распространенный формат. Как выяснилось, ничего такого не было (на самом деле таки было, но об этом в конце).
Те примеры, которые я находил, чаще всего оказывались кастомными скриптами с захардкоженными строками с ANSI цветами и sleep между кадрами. Никакого “стандарта” не было. Ну а раз нет, значит надо сделать.
Так и появился Animated ASCII Art. Характерным отличием 3a от plaintext файла с ANSI кодами является то, что он сохраняет форматирование и в текстовом редакторе арт выглядит также как и отрендеренная анимация что позволяет так и работать без нужды в специфическом редакторе вроде DurDraw. Долгое время проект существовал в виде неоднозначного описания формата, минимальной реализации без особых фич и буквально пары артов ради которых сабж и создавался.
Отраслевые последствия
Недавно я все это наконец причесал: переписал спецификацию, довел cli-тулу до более человеческого состояния, вынес библиотеки, добавил конвертацию в разные форматы и организовал мини коллекцию ASCII анимаций с открытыми лиензиями. Структура файлаФайл 3a состоит из блоков. Каждый блок начинается со строки с именем блока, начинающейся с @.
Первый блок всегда @3a; это заголовок с метаданными. Основной блок с кадрами называется @body. Минимальный файл без цветов и метаданных может выглядеть так:@3a @body <=>\ ,..
' Если кадров несколько, они разделяются пустыми строками:@3a title just an apple delay 300 loop yes @body <=>\ ,.. ' В заголовке здесь появилось несколько полей:title - название арта;delay - задержка между кадрами в миллисекундах;loop - нужно ли зацикливать анимацию.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





