ASTROFOX
Ayuda

Desarrollo

Ejecuta, compila y empaqueta Astrofox desde el código fuente.

Astrofox es una aplicación Next.js del lado del cliente con React y Three.js. No requiere un backend ni un servicio de autenticación para el desarrollo local.

Requisitos#

  • Node.js compatible con la versión declarada por las dependencias del proyecto
  • pnpm
  • Git

Clona e instala:

Ejecuta la aplicación web#

Crea una compilación de producción con:

El proceso de compilación habitual se usa para el despliegue web. Los proyectos y archivos multimedia permanecen en el dispositivo del usuario; no se necesita un servicio de API local.

Ejecuta la aplicación de escritorio#

El comando de desarrollo de escritorio inicia el entorno de desarrollo de Next.js y la estructura de Electron:

Para crear un paquete de escritorio de producción:

También hay comandos específicos por plataforma:

BUILD_TARGET=desktop produce una exportación estática de Next.js en out/, que después se empaqueta con el proceso principal de Electron y el puente de precarga.

Desarrolla plugins#

Ejecuta el servidor de plugins de ejemplo:

Busca un puerto disponible, sirve los directorios de plugins de ejemplo con CORS y muestra las URL de los manifiestos que puedes instalar en Astrofox. Consulta Creación de plugins para ver el proceso completo.

Notas de arquitectura#

  • Las compilaciones web y de escritorio comparten una aplicación y un formato de proyecto.
  • Se prefieren las API File System Access para la lectura y escritura habituales de proyectos y archivos multimedia.
  • El puente de Electron se limita a los controles de ventana, ffmpeg, archivos temporales e integración con el sistema operativo tras exportar.
  • El vídeo web usa MediaRecorder; la exportación de escritorio sin conexión renderiza fotogramas y los procesa con el ejecutable ffmpeg incluido.
  • Los plugins JavaScript externos se ejecutan en workers aislados con una política Content Security Policy restrictiva.

El código fuente y la actividad de contribución están en el repositorio de Astrofox en GitHub.