Que fait anidoodle ?
Images, films et pièces interactives entièrement dessinés en code. Une seule fonction pure peint chaque image ; une autre compose et synthétise chaque échantillon audio. La même source reconstruit les mêmes pixels et le même son sur n'importe quelle machine, à n'importe quelle taille, à n'importe quelle durée.
Le moteur est la partie facile. Le travail est jeté parce qu'il n'avait pas de sens, parce que le sujet était une icône de lui-même, parce qu'un style n'était qu'un échange de palette, parce que la musique n'avait pas de forme, ou parce que la personne a épuisé sa patience à approuver des fragments. Cette compétence apporte le savoir-faire qui évite chacun de ces écueils.
Commencez par demander, puis construisez
Lisez references/workflows/start-here.md et exécutez son entrée : une question à la fois, uniquement
ce que la demande laisse ouvert, votre recommandation en premier. Quoi fabriquent-ils, dans quel
style (montrez la feuille de galerie, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg ; la liste est references/styles/INDEX.md), quelle
forme (1x1, 9x16, 16x9, 4x5 ou toute L x H), combien de temps (n'importe quelle durée ; ne la
limitez jamais), quel son (silencieux ou un style musical et une ambiance), quels personnages.
« Vous choisissez » signifie choisissez et dites pourquoi en une ligne. Écrivez les réponses dans un
court brief avant de dessiner.
Que fabriquez-vous ?
| Fabrication | Lire |
|---|---|
| Une image fixe : héros, spot, couverture, carte, affiche, série | Workflow image fixe ci-dessous, references/formats.md |
| Une image qui se dessine elle-même (timelapse, making-of) | references/workflows/drawing-process.md |
| Une boucle, un sticker, un logo animé, un en-tête d'ambiance | Workflow boucle ci-dessous, references/formats.md |
| Un film narratif, de n'importe quelle durée | Workflow film ci-dessous, references/workflows/long-film.md |
| Une vidéo explicative ou un infographique | references/workflows/explainer.md |
| Une vidéo de lancement ou de produit (leurs captures d'écran bienvenues) | references/workflows/launch-video.md ; construisez-la sur references/workflows/launch-video-kit.md |
| Une animation web interactive qui réagit à l'interface utilisateur | references/workflows/interactive.md |
| Une leçon de dessin, ou « comment dessiner ça ? » | references/workflows/teach-drawing.md |
| Un personnage conservé identique dans n'importe quel style (gravure sur bois à brique de jouet) | references/workflows/character-consistency.md, references/anatomy.md |
| Un style adapté à partir de leur image | references/workflows/adapt-a-style.md |
| Une partition ou une bande sonore | references/music/README.md |
- Musique : écrivez votre propre partition pour le film (references/music/README.md) ;
node tools/music.mjs check <score.ts#export>doit PASSER avant qu'un humain écoute. - Effets sonores : references/music/sound-design.md. 14 effets superposés et basés sur une seed, déclenchés par image du film (filmSfx) ; la partition s'atténue, et chaque signal doit être à moins de 6 dB d'elle. Effets uniquement lors de changements de direction réels, un crescendo + un impact par film.
- Films de lancement :
launchTemplate.tsrend le lancement d'un produit à partir de données : invites, plaques dessinées pour lui, une partition écrite pour lui, mots, lignes d'installation ; les habitudes qui économisent des jetons sont dansreferences/working-method.md.
Les sept lois
- Chaque pièce a un sens. Une image fixe : une idée, un sujet focal, une lumière. Un film : une
transformation, un aboutissement, un jeton qui revient. →
references/storytelling.md - Énoncez le réalisme. Nommez l'anatomie, la vue et la référence que vous avez ouverte, pour les
animaux, les objets et les personnes. →
references/realism-and-craft.md,references/anatomy.md - Un style est une façon de faire des marques. Changez le médium, le bord et l'ordre des marques,
au-delà de la palette. →
references/styles.md - Prouvez le rendu sur UNE image fixe, puis construisez de bout en bout. Après cela, les étapes
d'approbation coûtent plus qu'elles n'en sauvent. →
references/working-method.md - Le contrat est absolu. Pure
(frame, env)(et le journal d'entrée, pour les pièces interactives),rng(seed)seulement, pas d'horloge, pas dectx.filter. Rien de généré ou téléchargé ; les images que la personne apporte peuvent être intégrées, fixées par hash. →references/determinism-and-contract.md - La musique a un plan, jamais un adjectif. Un style, une ambiance par section, les notes comme
données, puis des mesures. Vous ne pouvez pas l'entendre, donc un humain écoute avant qu'elle ne soit
livrée. →
references/music/ - L'un dirige, l'autre construit, les deux écrivent tout. Quand une session se dégrade, réinitialisez ;
les fichiers sont la mémoire. →
references/working-method.md
Workflows
Image fixe. (1) Dites l'idée en une phrase ; nommez le sujet focal et la lumière. (2) Ouvrez une référence
réelle pour tout ce qui existe, et notez laquelle. (3) Choisissez le style et lisez d'abord l'en-tête de sa
plaque. (4) Dessinez dans l'ordre de ce médium. (5) Rendez avec still.mjs à taille réelle, exécutez le
passage de détail sur des recadrages (visages, mains, pieds, articulations ; references/craft-bar.md),
critiquez par écrit. ✋ Une approbation. (6) Livrez toutes les tailles et formes demandées à partir de la
même source, et dites que reproducible a été imprimé.
Boucle. Comme une image fixe, plus : chaque mouvement est périodique sur la boucle, le sujet ne s'arrête jamais, quelque chose bouge chaque seconde. Vérifiez la jointure (dernière image contre image 0). ✋ Une approbation, sur le fichier en mouvement.
Film. (1) L'histoire en trois phrases (mise en place, transformation, aboutissement) et le jeton ; pour les films plus longs, une colonne vertébrale plus une ligne par chapitre. Si vous ne pouvez pas l'écrire, arrêtez. (2) La grille : un temps est de 60 x fps / bpm images, le bpm venant de la partition du brief ; une table de signaux contient chaque numéro d'image et un vérificateur s'exécute au chargement. (3) Référence réelle pour tout ce qui existe. (4) UNE image fixe de rendu, l'image la plus difficile, critiquée par écrit. ✋ Approbation. (5) UN échantillon musical de 8 secondes. ✋ Approbation. (6) Construisez le film entier ; des vérifications mécaniques s'exécutent en continu. (7) Revoyez une fois depuis le fichier rendu : une planche contact par temps, chaque coupe en paire, les chiffres de silence. Une liste de correctifs classée, une reconstruction. (8) ✋ Approbation finale. Dites ce que vous avez vérifié et ce que vous ne pouvez pas.
Au plus trois étapes d'approbation. L'approbation est un budget ; dépensez-le là où se tromper coûte cher.
La barre de qualité
Le test : un illustrateur humain fier livrerait-il ceci, ou est-ce un assemblage mécanique de formes ? La
table complète des indices est dans references/craft-bar.md. Ceux qui font échouer la plupart des travaux :
des sujets construits à partir d'ellipses, un style recoloré en un autre, des choses qui apparaissent en
fondu au lieu d'être dessinées, des personnes avec des articulations en caoutchouc, et un personnage dessiné
différemment d'un plan à l'autre.
Pas de temps mort dans tout ce qui bouge : quelque chose change visiblement chaque seconde. Un film qui
se dessine déclare kind: "drawing" et est jugé sur un niveau plus fin ; une image figée échoue toujours.
Le moteur
engine/ est le noyau artistique portable plus les outils. engine/src/canvas-core ne connaît rien
au DOM ou à tout backend. W, H, fps et durationFrames viennent du meta du film. Les mouvements
de caméra (pans, zooms, parallaxe, secousses) viennent de engine/src/canvas-core/camera.ts :
references/camera.md. render.mjs --blur N rend avec un flou de mouvement (N sous-images moyennées en
lumière linéaire par image) ; le chemin par défaut n'est pas modifié.
node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12 # secondes
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2 # une image fixe, avec son hash
node tools/render.mjs intro # MP4 ; --out x.gif|x.webm|x.apng
node tools/gate.mjs intro # déterminisme, contrat, temps mort
node tools/emit.mjs intro --out out/intro.html # un lecteur hors ligne autonome
| Outil | Ce qu'il fait |
|---|---|
scaffold.mjs | un projet avec une image fixe et/ou un film ; --duration, --format ou --size, --fps, --bpm |
still.mjs / render.mjs | images dessinées deux fois avec des hashs (--frames a,b,c --sheet dans un navigateur) / la pièce dans n'importe quel format (--from/--to, --poster-frame, --hashes) |
gate.mjs | déterminisme, contrat, temps mort, artefact ; --self-test prouve qu'il peut échouer |
registry.mjs / gallery.mjs | la liste des styles à partir des plaques elles-mêmes / la feuille de galerie |
docs-check.mjs | échoue quand le nombre de styles, la durée ou le chemin d'un doc est en désaccord avec le code |
verify-export.mjs | QA sur le fichier rendu : images, durée, partition ; opt-in première image, jointure de boucle, --delivery |
test.mjs (npm test) | suites unitaires dans engine/test/, pas de navigateur |
music.mjs | rend et mesure une partition ; check la valide (tonalité, master, gardes, stems, nouveauté) |
sfx.mjs | le kit d'effets sonores : list, one, kit <dir>, test |
Quatre backends, un noyau artistique : playwright, html-player, remotion, hyperframes.
→ references/backends-and-adapters.md
Exemples travaillés
- Les plaques de style dans
engine/src/canvas-core/: chaque main a une image fixe et un film de son dessin, avec la recette dans l'en-tête etreferences/styles/<id>.md. - MECHANICAL LEPIDOPTERA dans
example/: un film avec partition de 47 s.scaffold.mjs ~/study --example.
Étudiez-les. Ne les copiez pas. La barre de qualité n'est pas satisfaite par l'héritage.
Limites honnêtes
Vous ne pouvez pas entendre la partition, regarder le film bouger, ou utiliser la pièce interactive. Chaque
affirmation à leur sujet vient d'une mesure ou d'un humain ; dites laquelle. Une coche verte est une
affirmation jusqu'à ce que vous la réexécutiez. Rendez une image à --scale 2 avant de faire confiance à
une image fixe : une couche blittée avec la mauvaise transformation a l'air correcte à 1x et se casse à 2x.