ASTROFOX
Aide

Développement

Exécutez, compilez et empaquetez Astrofox à partir du code source.

Astrofox est une application Next.js côté client, construite avec React et Three.js. Le développement local ne nécessite ni backend ni service d'authentification.

Prérequis#

  • Une version de Node.js compatible avec celle déclarée par les dépendances du projet
  • pnpm
  • Git

Clonez le dépôt et installez les dépendances :

Exécuter l'application web#

Créez un build de production avec :

Le processus de build standard est utilisé pour le déploiement web. Les projets et les médias restent sur l'appareil de l'utilisateur ; aucun service d'API local n'est nécessaire.

Exécuter l'application de bureau#

La commande de développement pour le bureau démarre l'environnement de développement Next.js et le shell Electron :

Pour un paquet de bureau de production :

Des commandes propres à chaque plateforme sont également disponibles :

BUILD_TARGET=desktop produit un export Next.js statique dans out/, qui est ensuite empaqueté avec le processus principal Electron et le pont de préchargement.

Développer des plugins#

Lancez le serveur d'exemples de plugins :

Il trouve un port disponible, sert les répertoires des exemples de plugins avec CORS et affiche les URL des manifestes à installer dans Astrofox. Consultez Création de plugins pour le processus complet.

Notes d'architecture#

  • Les builds web et de bureau partagent une même application et un même format de projet.
  • Les API File System Access sont privilégiées pour les entrées/sorties courantes des projets et des médias.
  • Le pont Electron se limite à l'habillage de la fenêtre, à ffmpeg, aux fichiers temporaires et à l'intégration au système d'exploitation après l'exportation.
  • La vidéo sur le web utilise MediaRecorder ; l'exportation hors ligne sur le bureau effectue le rendu des images et les transmet au binaire ffmpeg fourni.
  • Les plugins JavaScript externes s'exécutent dans des workers isolés, soumis à une Content Security Policy restrictive.

Le code source et l'activité de contribution se trouvent dans le dépôt GitHub d'Astrofox.