Communitygithub.com

shwemahendran/jmathanim-skill

Écrire, corriger et réviser des scènes d'animation JMathAnim (Java). À utiliser lorsque le code importe com.jmathanim, étend Scene2D, ou que l'utilisateur souhaite une vidéo d'explication animée ou de diagrammes mathématiques rendue avec JMathAnim en Java. Couvre la mise en page, le texte, le synchronisme avec la narration, les flèches, les images et les bugs silencieux de la version 1.5.1. Pas pour Python Manim.

Qu'est-ce que jmathanim-skill ?

Ce skill est conçu pour les développeurs et utilisateurs d'agents IA travaillant avec la bibliothèque Java JMathAnim (version 1.5.1). Il permet d'écrire, corriger et réviser des scènes d'animation mathématiques ou didactiques en Java, en respectant des règles de conception précises pour éviter les bugs silencieux courants. Le skill s'appuie sur une documentation détaillée (via des fichiers de règles) couvrant la configuration, les coordonnées, le texte, les formes, la mise en page, les animations, le synchronisme avec la narration, le design de mouvement, les flèches et les images. Il insiste sur des pratiques comme l'utilisation d'une zone de sécurité, la prévention des chevauchements, l'emploi de polices réelles pour le texte brut, et la vérification systématique des logs de rendu. Le workflow inclut la compilation avec des avertissements, un rendu en aperçu avec audit, une inspection visuelle, puis un rendu final. Le skill n'est pas destiné à Python Manim.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shwemahendran/jmathanim-skill/tree/HEAD/skills/jmathanim

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

JMathAnim

JMathAnim génère des animations MP4 à partir de code Java (Scene2D, play.*). Ce skill cible la version 1.5.1. Chaque règle a été vérifiée par rendu, et les exemples dans examples/ le prouvent.

Avant d'écrire une scène

  1. Lisez les fichiers de règles correspondant à ce que la scène utilise (tableau ci-dessous). Lisez toujours rules/known-bugs.md.
  2. Étendez starter/StarterScene.java (copiez-le dans le projet) et appelez configure(dark) dans setupSketch().
  3. Planifiez en séquences : une idée par séquence, chacune avec sa propre ligne de narration. Lisez rules/motion-design.md pour savoir ce qui rend une séquence agréable à regarder.

Conservez les modifications de l'utilisateur. Si un fichier de scène a changé depuis votre dernière lecture, supposez que le changement est intentionnel : relisez-le et construisez dessus. Ne l'écrasez jamais avec votre version précédente. Demandez si un changement semble être une erreur.

Les dix règles les plus importantes

  1. Un point focal par séquence, révélé dans l'ordre de la narration. Rien n'apparaît avant d'être mentionné. Atténuez ou retirez ce qui n'est plus discuté.
  2. Gardez le contenu dans la zone de sécurité : x entre ±1,96, y entre −0,97 et 1,075. La vue fait 4 × 2,25. Lancez avec -Daudit=true pour lister les violations.
  3. Positionnez par rapport aux objets : stack().toObject(), align(), les groupes avec setLayout(). Ne jamais placer par coordonnées tapées.
  4. Le texte brut est TextMathObject avec une police réelle ("Arial") ; LaTeX uniquement pour les maths. Hauteur du corps 0,058, jamais en dessous de 0,050. Prévoyez les largeurs (chars × hauteur × 0,45) et utilisez le retour à la ligne plutôt que de réduire la taille.
  5. Terminez chaque séquence par endBeat() après beat(clipSeconds). Ne faites jamais la somme manuelle des durées ; elles sont arrondies à la trame inférieure.
  6. Pour montrer des choses ensemble, mettez-les dans un seul play.run(...). Des appels séparés s'exécutent l'un après l'autre.
  7. setArrowThickness(5) sur chaque flèche et connecteur. La tête par défaut est énorme.
  8. Les boîtes arrondies proviennent de roundedRectangle(), jamais de OvalBox.make.
  9. Les images entrent avec fadeIn, jamais showCreation ; cela n'ajoute rien silencieusement.
  10. Lisez le journal de rendu pour les ERROR. Plusieurs échecs ne plantent pas : ils omettent simplement quelque chose.

Fichiers de règles

sujetfichier
Maven, cycle de vie de la scène, configurations, résolutionrules/setup.md
coordonnées, taille de la vue, zone de sécuritérules/coordinates-and-safe-area.md
texte, LaTeX, tailles, estimation de largeur, retour à la lignerules/text.md
formes, couleurs, API setXxx, remplissages, calques, ombresrules/shapes-and-styling.md
empilement, alignement, groupes, tableauxrules/layout.md
play.*, commandes, parallélisation, décalage, morphingrules/animation.md
séquences, synchronisme avec la narration, rythmerules/timing-and-beats.md
règles de conception, assouplissement, focus, annotations, zoom caméra, transitions de scènerules/motion-design.md
flèches, connecteurs, coudes, accoladesrules/arrows-and-connectors.md
bitmaps, SVGrules/images-and-svg.md
échecs silencieux et contournementsrules/known-bugs.md

Après avoir écrit une scène

  1. Compilez avec -Xlint:deprecation,rawtypes et corrigez chaque avertissement.
  2. Rendez à la taille d'aperçu (-Dpreview=true -Daudit=true) et corrigez toute ligne AUDIT ou ERROR.
  3. Regardez la vidéo, ou extrayez des images avec ffmpeg (ffmpeg -sseof -0.3 -i media/X_360.mp4 -frames:v 1 last.png). Vérifiez les chevauchements, le texte coupé et tout élément manquant.
  4. Rendez à la taille de production uniquement lorsque l'aperçu est correct.

Skills associés