Sobre el proyecto

Astrofox es un programa de gráficos en movimiento diseñado para convertir audio en videos visuales. Se distribuye como un proyecto de código abierto bajo la licencia MIT y se puede ejecutar como una aplicación web o como una aplicación de escritorio sin conexión. Flujo de trabajo principal Los proyectos se abren y guardan como archivos .afx locales. El README señala que los proyectos .json y los proyectos .afx heredados comprimidos con gzip aún se pueden abrir. La aplicación se describe como una aplicación Next.js del lado del cliente, y no se requiere ningún servicio de backend o autenticación para el desarrollo. Ejecución desde el código fuente El README documenta un flujo de trabajo basado en pnpm: clonar el repositorio, instalar dependencias con pnpm install, compilar con pnpm build e iniciar con pnpm start. Para desarrollo, pnpm dev ejecuta la aplicación. Despliegue web Los commits se despliegan a través de Vercel utilizando el script estándar pnpm build. El README advierte no cambiar este script para el empaquetado de escritorio. Escritorio (Electron, sin conexión) El desarrollo utiliza pnpm dev:desktop, que combina un servidor de desarrollo Next con un shell de Electron. El empaquetado de producción utiliza pnpm package, que realiza una exportación estática con BUILD_TARGET=desktop en out/, y luego empaqueta electron/ más out/ con electron-builder. Los instaladores se escriben en release/. Las variantes específicas de plataforma y desempaquetadas están disponibles a través de pnpm package:dir, package:mac, package:win y package:linux. Entrada/salida de archivos Las versiones web y de escritorio comparten los mismos selectores del navegador, utilizando la File System Access API con alternativas de entrada/descarga. El puente de Electron está reservado para el chrome de la ventana, archivos temporales y la exportación con ffmpeg, utilizando rutas absolutas solo cuando es necesario. Más detalles se encuentran en docs/desktop-capabilities.md. Exportación de video En la web, la exportación utiliza el MediaRecorder del navegador (WebM, o MP4 cuando es compatible). En el escritorio, la exportación realiza una renderización de fotogramas sin conexión y luego utiliza un binario ffmpeg incluido para producir MP4 (H.264/AAC). Los comandos de empaquetado descargan el binario de la plataforma y lo incluyen en bin/. Comunidad y soporte El README enlaza a un video de demostración, el sitio web del proyecto, un chat de Discord, un foro de Reddit y un rastreador de problemas de GitHub para informes de errores.