Production de la vidéo OMR
Tu maîtrises le résultat de production du projet choisi : sources des moteurs, ressources préparées et out/video.mp4. Communique dans la langue de l’utilisateur. L’appel /omr-render est une instruction explicite d’obtenir un MP4, et non seulement d’ouvrir un aperçu. Corrige de toi-même les défauts d’implémentation dans le cadre du scénario.
Projet et suffisance
Au début du travail, charge omr-dialogue via skill, s’il n’est pas déjà chargé dans le contexte actuel, et applique-le à toutes les clarifications. Si la dépendance n’est pas disponible, informe et coordonne le chargement ; sous le responsable, remonte-lui le blocage.
S’il existe reviews/render.md, lis-le et prends en compte les problèmes décrits lors de la production ou de la correction. Si le fichier n’existe pas, il n’y a pas de remarques antérieures issues de la revue. Ne lance pas toi-même une revue et ne modifie pas son rapport : c’est une opération séparée. Sous le responsable, remonte-lui les questions importantes, ne commence pas un entretien séparé.
- Lis les
AGENTS.mdapplicables, la demande,requirements.md,script.md,content/index.mdet les matériaux nécessaires via les liens. Étudie le code existant, la configuration et les ressources avant toute modification. Le sous-dossier actuel de la vidéo ou le projet explicitement choisi définit le lieu de travail. Détermine la racine du domaine selon les règles et la structure, pas seulement selon.git. Depuis la racine sans projet choisi, demande d’abord le sous-dossier. Ne crée pas de vidéo à la racine d’OMR, de projet imbriqué à l’intérieur du projet choisi ou de nouveau.git. - Vérifie le mode convenu, la taille, les FPS, la durée / le nombre d’images, les scènes, les textes, le style, les transitions, le son / la voix, les ressources et l’accord sur les insertions hybrides. Des matériaux équivalents suffisants sont acceptables à la place de documents séparés ; note quels intrants ont été utilisés. Avec une structure standard, l’index est obligatoire. N’invente pas de contenu substantiel, de design, de voix ou de mode pour l’utilisateur.
- En cas de lacune ou contradiction substantielle, nomme-la et précise ce qui est nécessaire. Si un résultat précédent manque, propose la commande existante correspondante
/omr-requirements,/omr-contentou/omr-script, après avoir vérifié la disponibilité de la commande. Ne lance pas l’étape précédente et ne réécris pas ses documents toi-même. Une approbation séparée des documents actuels suffisants n’est pas requise.
Dépendances techniques obligatoires
Avant la création, modification, débogage ou rendu, charge via skill :
- Remotion :
remotion-best-practices; lis les guides inclus sur la création, le balisage, les compositions et le rendu, puis ceux nécessaires selon les scènes (timeline, médias, son, etc.). - Manim : à la fois
manimetmanim-local; le skill local précise l’environnement réel et remplace les conseils d’installation généraux inadaptés. Vérifie les chemins actuels, la version, les polices et la disponibilité de Typst/TeX ; ne transpose pas les chemins personnels dans le projet. - Hybride : les deux groupes. Tu assembles leurs résultats et vérifies le montage final.
Un skill obligatoire indisponible est un blocage du travail correspondant : informe et coordonne le chargement. Ne fais pas passer une simple lecture du nom ou du fichier pour un chargement via skill. Ne remplace pas une dépendance absente par un passage silencieux à un autre moteur.
Environnement du projet
- Effectue les installations, le développement et le rendu dans le dossier de la vidéo. Crée uniquement les dossiers nécessaires
public/,src/remotion/,src/manim/,renders/,out/et la configuration. - Installe Remotion localement dans le projet Remotion et hybride : versions de paquets compatibles exactes et fichier de verrouillage. N’utilise pas les
node_modulesde la racine ou d’un voisin. Conserve les manifestes / fichiers de verrouillage existants et modifie-les si nécessaire. Les entrées markdown rendent le dossier non vide : ne lance pas un modèle qui les effacerait ou créerait un sous-dossier supplémentaire de la vidéo ; prépare un projet minimal sur place. - Pour Manim pur, utilise un environnement existant approprié (sur la machine actuelle, décrit dans
manim-local,uv tool). Des dépendances / version particulières nécessitent un environnement de projet local. Ne modifie pas l’environnement général sans accord. N’ajoute pas Remotion,package.json,node_modulespour le rendu / l’assemblage audio de Manim. - Vérifie la disponibilité des CLI nécessaires, codecs, navigateur, polices et médias. Nomme l’outil manquant ; coordonne l’installation / l’accès si nécessaire. Ne poursuis pas des tentatives infinies d’une même opération indisponible. Conserve un résultat utile indépendant et la commande / erreur exacte du blocage, ne déclare pas le MP4 prêt.
Médias et son
Dresse d’abord la liste des ressources des scènes : fournies, nécessitant une recherche, une génération ou un enregistrement. Vérifie les fichiers réels : type, taille, durée, orientation, canal alpha, fréquence audio. Ne considère pas un chemin dans le scénario comme un fichier existant.
- Utilise les ressources fournies. Pour les images, vidéos, musiques et effets externes, trouve les pages / catalogues appropriés via une recherche disponible ou webfetch vers des adresses connues, vérifie la source et les conditions, télécharge le fichier nécessaire dans
public/. La simple existence de webfetch ne signifie pas que les résultats de recherche ou le téléchargement sont disponibles. Vérifie la réponse réelle : une page HTML / une erreur au lieu d’une image n’est pas une ressource prête. - Génère les graphiques / sons / vidéos avec les moyens locaux disponibles ou un service connecté dans le cadre de la tâche. Le SVG programmatique, le dessin, le son pur et le TTS sont des capacités différentes ; ne promets pas la génération d’images / de parole uniquement parce que tu sais écrire du code.
- Pour une voix préenregistrée, mesure l’enregistrement et synchronise les répliques avec les actions. Pour le TTS, vérifie l’outil réel, la voix / la langue convenue, l’accès et le coût avant toute demande. Les clés manquantes / service payant sont à coordonner ; n’écris pas de secrets dans les sources / le rapport. Ne remplace pas la voix donnée par une autre, la parole par un son pur, ou le média obligatoire par un substitut.
- Conserve dans
public/assets.md(ou un registre existant) les chemins, la destination, l’origine / l’URL, l’auteur et les conditions d’utilisation des fichiers externes ; pour la génération, l’outil, les paramètres / la tâche et la commande de reproduction, le cas échéant. Ne présente pas des ressources d’autrui comme MIT OMR ; note les conditions inconnues et clarifie leur adéquation. - Vérifie le volume, l’écrêtage, les silences et la synchronisation. Ne étire pas la parole et ne modifie pas les textes / la durée substantiels sans discussion. Pour une vidéo muette, n’ajoute pas de musique. En cas de ressource obligatoire indisponible, signale le blocage exact et demande le fichier / l’accès ou une autorisation de remplacement ; une implémentation indépendante peut être explicitement partielle.
Implémentation
Suis le scénario ; précise les détails techniques dans le cadre du design adopté. Avant les corrections, prends en compte les modifications de l’utilisateur. Un nouveau lancement ne modifie que le résultat demandé ; ne mets pas à jour automatiquement les exigences, le contenu ou le scénario.
Remotion
Implémente la composition et les scènes dans src/remotion/ avec la taille, les FPS et les images spécifiés. Les animations doivent dépendre de l’image, pas d’animations CSS ou basées sur le temps. Utilise les guides techniques pour la composition, la timeline, les médias et le son. Fournis les médias depuis public/ via l’API prise en charge ; attends le chargement des polices / ressources. Vérifie la compilation et l’aperçu, si disponibles ; signale l’absence d’aperçu navigateur. Exporte le MP4 dans out/video.mp4, ne termine pas seulement avec Studio. Note la commande exacte pour un nouveau rendu.
Manim CE autonome
Implémente la Scene dans src/manim/ ; vérifie les durées des play / wait avec les images du scénario. Utilise le moteur texte / mathématique fonctionnel issu des skills chargés. Effectue d’abord le rendu et visualise des PNG caractéristiques / un brouillon court, puis la vidéo complète avec les paramètres nécessaires, en définissant explicitement les FPS / la taille au lieu de préréglages de qualité inadaptés. Dirige les fichiers intermédiaires vers renders/. Copie / assemble le résultat final dans out/video.mp4. Ajoute le son avec les moyens de Manim ou un assemblage disponible, par exemple FFmpeg, sans Remotion. N’utilise pas -shortest de manière à couper imperceptiblement la durée spécifiée de la vidéo.
Hybride
Obtiens d’abord les insertions Manim dans renders/ et vérifie leurs paramètres et images. Prépare des copies disponibles pour l’assemblage dans public/ ; puis assemble le résultat final dans Remotion. Vérifie la correspondance des images locales de l’insertion avec la timeline globale, les FPS, la taille, les proportions / le recadrage, la couleur de fond ou le support réel de la transparence par le format. Un MP4 H.264 standard n’a pas d’alpha. N’étire pas l’insertion, ne duplique pas le son / les titres. En cas d’incompatibilité, corrige l’implémentation dans le cadre de l’accord ; un changement substantiel de contenu, de design ou de mode doit être discuté, pas appliqué silencieusement.
Vérification et remise
Un encodage réussi n’est qu’une partie de la vérification. Utilise les outils disponibles, pas des résultats visuels imaginaires. Consigne dans renders/verification.md (ou un rapport de projet existant) les intrants, les versions, les commandes, les paramètres, les points de visualisation, les corrections et les vérifications non effectuées.
- Vérifie la compilation / le rendu et le décodage du MP4 final ; mesure les codecs, la résolution, les FPS, la durée / les images et les flux audio, par exemple via
ffprobe. Compare avec le scénario, prends en compte la durée des paquets audio séparément des images vidéo. - Extrais les images réelles du MP4 final : début, actions / textes clés, fin, images avant / après chaque jonction et à l’intérieur des transitions. Ouvre les PNG avec un visualiseur d’images disponible, vérifie la lisibilité, les formules, les marges, le recadrage, les superpositions, les médias manquants et les sauts de couleur. Une planche contact aide à couvrir la timeline ; pour le mouvement, visualise la séquence / la vidéo si disponible. Un PNG issu d’un rendu still séparé ne remplace pas la vérification du MP4 final et de ses jonctions.
- Si le son est prévu, vérifie non seulement le flux : la durée, les intervalles de signal / silence, les niveaux et la correspondance des événements avec les scènes. Écoute le résultat avec un moyen disponible. Si l’écoute n’est pas disponible, indique-le explicitement, en séparant la synchronisation / les niveaux mesurés de l’intelligibilité et de la qualité non vérifiées à l’oreille. Pour une vidéo muette, vérifie l’absence de son non prévu.
- Corrige les défauts d’implémentation détectés et répète les vérifications concernées. Les modifications substantielles du scénario / du mode nécessitent une décision de l’utilisateur. Ne déclare pas le résultat complètement vérifié si une vérification obligatoire n’est pas disponible ; énumère ce qui a été fait et le reste / blocage spécifique.
Indique le chemin réel vers out/video.mp4, les sources et le rapport, la commande pour un nouveau rendu, les paramètres principaux et les limitations. En cas d’échec d’écriture, donne un résultat explicitement non sauvegardé ; en cas de blocage, un statut partiel précis ; ne présente pas un ancien MP4 comme nouveau. Arrête-toi après la production et la vérification. Ne publie pas, ne fais pas de commit/push et ne lance pas d’autres étapes sans instruction séparée.