Présentation
Gitframes est un projet open‑source qui propose de générer des séquences vidéo à partir de code, en s’appuyant sur l’API WebGPU native du navigateur. Le dépôt GitHub (gatewai-dev/gitframes) indique clairement que le rendu s’effectue « code‑first », c’est‑à‑dire que la logique de création d’images est écrite en JavaScript/TypeScript et traduite directement en shaders exécutés sur le GPU. Cette approche élimine la dépendance à des bibliothèques de décodage vidéo tierces et exploite la parallélisation offerte par le matériel graphique moderne.
Architecture et flux de travail
Le référentiel est structuré comme un monorepo géré par pnpm (fichier pnpm-workspace.yaml) et comporte plusieurs dossiers : apps/renderer-service, packages, nodes et plugins/gitframes. Le service de rendu (apps/renderer-service) compile le code source en shaders WebGPU via le compilateur TypeScript, puis lance un conteneur Docker défini par Dockerfile.renderer. Ce Dockerfile utilise une image Node.js adaptée et expose le GPU du serveur grâce à l’option --gpus all de Docker, ce qui permet d’exécuter le rendu dans un environnement isolé tout en conservant les performances matérielles.
Le processus typique consiste à écrire un script décrivant les scènes (géométrie, couleurs, animations) en TypeScript, à le placer dans le répertoire examples, puis à lancer la commande de rendu fournie par le service. Le résultat est un flux vidéo encodé au format WebM, stocké dans le répertoire assets. Le projet inclut également un répertoire .agent et .claude qui suggèrent l’intégration d’agents d’IA pour automatiser la génération de contenu, bien que ces fonctionnalités restent expérimentales.
Performances et contraintes
Le recours à WebGPU offre un accès bas‑niveau aux unités de calcul du GPU, ce qui se traduit par des temps de rendu nettement inférieurs à ceux obtenus avec des solutions CPU‑only. Cependant, la stabilité de WebGPU dépend encore du support natif du navigateur ou du runtime d’exécution (ex. : Chrome ≥ 113, Edge ≥ 113). En environnement serveur, la disponibilité du driver GPU et la configuration du conteneur Docker sont des prérequis stricts ; sans GPU dédié, le rendu se dégrade fortement ou échoue.
Le projet utilise pnpm et Turbo (fichier turbo.json) pour la mise en cache et le parallélisme des builds, ce qui réduit la latence de compilation. Néanmoins, le nombre de commits indiqué (commitCount":"37") montre que le dépôt est encore jeune, ce qui implique un manque de benchmarks publics et une documentation limitée. Les utilisateurs doivent donc tester les performances sur leurs propres charges de travail pour évaluer la viabilité du rendu à grande échelle.
Perspectives d’utilisation
Gitframes s’adresse aux développeurs souhaitant automatiser la production de contenus vidéo dynamiques, par exemple pour des visualisations de données, des démonstrations de code ou des effets graphiques générés à la volée. Son modèle « code‑first » facilite l’intégration dans des pipelines CI/CD, notamment grâce aux scripts Docker et à la compatibilité avec les workflows GitHub Actions. La combinaison de WebGPU et de conteneurs ouvre la voie à des services de rendu cloud scalables, à condition de disposer d’infrastructures GPU suffisantes.