Que fait anidoodle ?
Images, films et pièces interactives entièrement dessinés en code. Une fonction pure peint chaque frame ; 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, pour n'importe quelle durée.
Le moteur est la moitié 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 porte le savoir-faire qui évite chacun de ces écueils.
Commencez par demander, puis construisez
Lisez references/workflows/start-here.md et exécutez son questionnaire : une question à la fois, uniquement
ce que la requête 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 detemps (n'importe quelle durée ; ne la limitez jamais), quel
son (silencieux ou un style musical et une ambiance), quels personnages. « Tu choisis » signifie choisis et
dis pourquoi en une ligne. Écrivez les réponses dans un court brief avant de dessiner.
Que fabriquez-vous ?
| Fabrication | Lire |
|---|---|
| Une image fixe : hero, spot, couverture, carte, affiche, une 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 ambiant | Workflow boucle ci-dessous, references/formats.md |
| Un film narratif, toute 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 | references/workflows/interactive.md |
| Une leçon de dessin, ou « comment dessiner ceci ? » | 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é depuis leur image | references/workflows/adapt-a-style.md |
| Une partition ou une bande-son | 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 RÉUSSIR avant qu'un humain écoute.
- Effets sonores : references/music/sound-design.md. 14 effets superposés et seedés, déclenchés par frame de film (filmSfx) ; la partition s'efface, et chaque signal doit être à moins de 6 dB de celle-ci. Effets uniquement sur de vrais changements de direction, 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 tokens 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 token qui revient. →
references/storytelling.md - Déclarez le réalisme. Nommez l'anatomie, la vue et la référence que vous avez ouverte, pour les animaux,
objets et personnes. →
references/realism-and-craft.md,references/anatomy.md - Un style est une manière 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 seule image fixe, puis construisez de bout en bout. Après cela, les barrières
coûtent plus qu'elles ne sauvent. →
references/working-method.md - Le contrat est absolu. Pur dans
(frame, env)(et le journal d'entrée, pour les pièces interactives),rng(seed)uniquement, pas d'horloge, pas dectx.filter. Rien de généré ou téléchargé ; les images apportées par la personne peuvent être intégrées, épinglé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 en taille réelle, exécutez le passage de
finition sur les recadrages (visages, mains, pieds, jointures ; references/craft-bar.md), critiquez par écrit. ✋ Une approbation. (6) Livrez
chaque taille et forme demandées à partir de la même source, et dites que « reproductible » 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 couture (dernière frame contre frame 0). ✋ Une approbation, sur le fichier animé.
Film. (1) L'histoire en trois phrases (configuration, transformation, aboutissement) et le token ; 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 beat correspond à 60 x fps / bpm frames, le bpm venant de la partition du brief ; une table de signaux contient chaque numéro de frame 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, la frame la plus difficile, critiquée par écrit. ✋ Approbation. (5) UN échantillon musical de 8 secondes. ✋ Approbation. (6) Construisez le film entier ; les vérifications mécaniques s'exécutent en continu. (7) Revoyez une fois à partir fichier rendu : une planche contact par beat, chaque coupe en paire, les numéros de silence. Une liste de correctifs classés, une reconstruction. (8) ✋ Approbation finale. Dites ce que vous avez vérifié et ce que vous ne pouvez pas.
Trois barrières d'approbation au maximum. L'approbation est un budget ; dépensez-le là où se tromper coûte cher.
Le niveau de savoir-faire
Le test : un illustrateur humain fier livrerait-il ceci, ou s'agit-il d'un assemblage mécanique de formes ? La
table complète des indicateurs est dans references/craft-bar.md. Ceux qui coulent le plus de travail : sujets
construits à partir d'ellipses, un style recolorié 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 silence dans quoi que ce soit qui bouge : quelque chose change visiblement chaque seconde. Un film qui
se dessine lui-même déclare kind: "drawing" et est jugé sur un plancher plus fin ; un arrêt sur image échoue.
Le moteur
engine/ est le noyau artistique portable plus l'outillage. engine/src/canvas-core ne sait rien
à propos du DOM ou de tout backend. W, H, fps et durationFrames proviennent du meta du film.
Les mouvements de caméra (pans, zooms, parallaxe, shake) proviennent de engine/src/canvas-core/camera.ts :
references/camera.md. render.mjs --blur N rend avec flou de mouvement (N sous-frames moyennées en
lumière linéaire par frame) ; le chemin par défaut est intact.
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, silence
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 | frames dessinées deux fois avec hashes (--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, silence, 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 longueur ou le chemin d'un document diffère du code |
verify-export.mjs | QA sur le fichier rendu : frames, durée, partition ; opt-in première frame, couture de boucle, --delivery |
test.mjs (npm test) | suites unitaires dans engine/test/, sans 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 de 47 s avec partition.scaffold.mjs ~/study --example.
Étudiez-les. Ne les copiez pas. Le niveau de savoir-faire n'est pas satisfait par l'héritage.
Limites honnêtes
Vous ne pouvez pas entendre la partition, regarder le film bouger, ni utiliser la pièce interactive. Chaque affirmation
à leur sujet provient 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 frame à --scale 2 avant de faire confiance à une image fixe : un calque blitté via
transformée erronée a l'air correct à 1x et casse à 2x.