Об этом проекте

Astrofox — это программа для создания анимационной графики, предназначенная для превращения аудио в визуальные видео. Она распространяется как проект с открытым исходным кодом под лицензией MIT и может запускаться либо как веб-приложение, либо как офлайн-приложение для настольных систем. Основной рабочий процесс Проекты открываются и сохраняются как локальные файлы .afx. В README отмечается, что проекты .json и устаревшие проекты .afx со сжатием gzip всё ещё можно открывать. Приложение описывается как клиентское приложение Next.js, и для разработки не требуется бэкенд или служба аутентификации. Запуск из исходного кода В README описан рабочий процесс на основе pnpm: клонируйте репозиторий, установите зависимости с помощью pnpm install, соберите с помощью pnpm build и запустите с помощью pnpm start. Для разработки приложение запускается командой pnpm dev. Веб-развёртывание Коммиты развёртываются через Vercel с использованием стандартного скрипта сборки pnpm build. В README предупреждают, что не следует изменять этот скрипт для упаковки настольной версии. Настольная версия (Electron, офлайн) Для разработки используется pnpm dev:desktop, что объединяет сервер разработки Next с оболочкой Electron. Для production-упаковки используется pnpm package, который выполняет статический экспорт с BUILD_TARGET=desktop в out/, затем упаковывает electron/ вместе с out/ с помощью electron-builder. Установщики записываются в release/. Варианты для конкретных платформ и распакованные варианты доступны через pnpm package:dir, package:mac, package:win и package:linux. Ввод и вывод файлов Веб-версия и настольная версия используют одни и те же браузерные средства выбора файлов, применяя File System Access API с резервными вариантами input/download. Мост Electron зарезервирован для оформления окна, временных файлов и экспорта через ffmpeg, при этом абсолютные пути используются только при необходимости. Дополнительные сведения приведены в docs/desktop-capabilities.md. Экспорт видео В веб-версии экспорт использует браузерный MediaRecorder (WebM или MP4, когда поддерживается). В настольной версии экспорт выполняет офлайн-рендеринг кадров, а затем использует встроенный бинарный файл ffmpeg для создания MP4 (H.264/AAC). Команды упаковки загружают бинарный файл для платформы и включают его в bin/. Сообщество и поддержка В README есть ссылки на демонстрационное видео, сайт проекта, чат в Discord, форум Reddit и трекер задач GitHub для сообщений об ошибках.