Was macht anidoodle?
Bilder, Filme und interaktive Stücke, die vollständig in Code gezeichnet werden. Eine reine Funktion malt jeden Frame; eine andere komponiert und synthetisiert jedes Audio-Sample. Die gleiche Quelle baut die gleichen Pixel und den gleichen Sound auf jeder Maschine, in jeder Größe, in jeder Länge.
Die Engine ist der einfache Teil. Arbeit wird weggeworfen, weil sie keinen Sinn hatte, weil das Motiv nur eine Ikone seiner selbst war, weil ein Stil nur ein Paletten-Tausch war, weil die Musik keine Form hatte oder weil die Person ihre Geduld bei der Freigabe von Fragmenten verbraucht hat. Dieser Skill trägt das Handwerk bei, das all das verhindert.
Beginne mit Fragen, dann baue
Lies references/workflows/start-here.md und führe dessen Aufnahme durch: eine Frage nach der anderen, nur
das, was die Anfrage offen lässt, zuerst deine Empfehlung. Was machen sie, in welchem
Stil (zeige das Galerieblatt, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg; die Liste ist references/styles/INDEX.md), welche
Form (1x1, 9x16, 16x9, 4x5 oder beliebiges B x H), wie
lang (beliebige Länge; niemals begrenzen), welcher
Sound (stumm oder ein Musikstil und eine Stimmung), welche
Charaktere. „Du entscheidest“ bedeutet, wähle und begründe in einem Satz. Schreibe die Antworten in ein kurzes Briefing, bevor du zeichnest.
Was erstellst du?
| Erstellung | Lesehinweis |
|---|---|
| Ein Standbild: Held, Spot, Cover, Karte, Poster, eine Serie | Standbild-Workflow unten, references/formats.md |
| Ein Bild, das sich selbst zeichnet (Zeitraffer, Behind the Scenes) | references/workflows/drawing-process.md |
| Ein Loop, Sticker, animiertes Logo, Ambient-Header | Loop-Workflow unten, references/formats.md |
| Ein Story-Film, jede Länge | Film-Workflow unten, references/workflows/long-film.md |
| Ein Erklärvideo oder eine Infografik | references/workflows/explainer.md |
| Ein Launch- oder Produktvideo (deren Screenshots sind willkommen) | references/workflows/launch-video.md; baue es auf references/workflows/launch-video-kit.md auf |
| Eine interaktive Web-Animation, die auf die Benutzeroberfläche reagiert | references/workflows/interactive.md |
| Eine Zeichenstunde oder „Wie zeichne ich das?“ | references/workflows/teach-drawing.md |
| Ein Charakter, der in jedem Stil identisch bleibt (vom Holzstich bis zum Legostein) | references/workflows/character-consistency.md, references/anatomy.md |
| Ein Stil, der an ein Bild angepasst wird | references/workflows/adapt-a-style.md |
| Eine Partitur oder ein Soundtrack | references/music/README.md |
- Musik: Schreibe deine eigene Partitur für den Film (
references/music/README.md);node tools/music.mjs check <score.ts#export>muss BESTANDEN haben, bevor ein Mensch zuhört. - Soundeffekte:
references/music/sound-design.md. 14 geschichtete, gesäte Effekte, die durch den Filmbild (FilmSfx) gesteuert werden; die Partitur duckt sich ab, und jeder Cue muss innerhalb von 6 dB von ihr liegen. Effekte nur bei tatsächlichen Richtungswechseln, ein Aufbau + ein Einschlag pro Film. - Launch-Filme:
launchTemplate.tsrendert den Launch eines Produkts aus Daten: Prompts, eigens dafür gezeichnete Platten, eine eigens dafür geschriebene Partitur, Wörter, Installationszeilen; Gewohnheiten, die Tokens sparen, sind inreferences/working-method.md.
Die sieben Gesetze
- Jedes Stück hat einen Sinn. Ein Standbild: eine Idee, ein Fokus-Subjekt, ein Licht. Ein Film: eine
Verwandlung, ein Ertrag, ein Token, der zurückkehrt. →
references/storytelling.md - Gib den Realismus an. Nenne die Anatomie, die Ansicht und die Referenz, die du geöffnet hast, für
Tiere, Objekte und Menschen gleichermaßen. →
references/realism-and-craft.md,references/anatomy.md - Ein Stil ist eine Art, Markierungen zu setzen. Ändere das Medium, die Kante und die Reihenfolge der Markierungen,
über die Palette hinaus. →
references/styles.md - Beweise den Look an EINEM Standbild, dann baue von Anfang bis Ende. Danach kosten Prüfungen mehr, als sie
einsparen. →
references/working-method.md - Der Vertrag ist absolut. Rein in
(frame, env)(und dem Eingabelog, für interaktive Stücke), nurrng(seed), keine Uhr, keinctx.filter. Nichts generiert oder heruntergeladen; Bilder, die die Person mitbringt, können eingebettet, durch Hash verankert werden. →references/determinism-and-contract.md - Musik bekommt einen Plan, niemals ein Adjektiv. Ein Stil, eine Stimmung pro Abschnitt, die Noten als Daten, dann
Messungen. Du kannst sie nicht hören, daher hört ein Mensch zu, bevor sie ausgeliefert wird. →
references/music/ - Einer leitet, einer baut, beide schreiben alles auf. Wenn eine Sitzung degradiert, setze zurück; die
Dateien sind das Gedächtnis. →
references/working-method.md
Workflows
Standbild. (1) Sage die Idee in einem Satz; nenne das Fokus-Subjekt und das Licht. (2) Öffne eine echte
Referenz für alles, was existiert, und notiere welche. (3) Wähle den Stil und lies zuerst den Header seiner Platte.
(4) Zeichne in der Reihenfolge dieses Mediums. (5) Rendere mit still.mjs in voller Größe, führe den
Detaildurchlauf auf Ausschnitten durch (Gesichter, Hände, Füße, Gelenke; references/craft-bar.md), kritisiere schriftlich. ✋ Eine Freigabe. (6) Liefere jede
geforderte Größe und Form aus der gleichen Quelle und sage, dass reproducible ausgegeben wurde.
Loop. Wie ein Standbild, plus: jede Bewegung ist periodisch über den Loop, das Subjekt stoppt nie, etwas bewegt sich jede Sekunde. Prüfe die Naht (letzter Frame gegen Frame 0). ✋ Eine Freigabe, an der bewegten Datei.
Film. (1) Die Geschichte in drei Sätzen (Setup, Transformation, Ertrag) und das Token; für längere Filme ein Spine plus eine Zeile pro Kapitel. Wenn du es nicht schreiben kannst, höre auf. (2) Das Raster: ein Beat ist 60 x fps / bpm Frames, der BPM aus der Partitur des Briefings; eine Cue-Tabelle enthält jede Framenummer und ein Prüfer läuft beim Laden. (3) Echte Referenz für alles, was existiert. (4) EIN Look-Standbild, der schwierigste Frame, schriftlich kritisiert. ✋ Freigabe. (5) EIN 8-Sekunden-Musik-Sample. ✋ Freigabe. (6) Baue den gesamten Film; mechanische Prüfungen laufen kontinuierlich. (7) Prüfe einmal die gerenderte Datei: ein Kontaktblatt pro Beat, jeder Schnitt als Paar, die Tote-Luft-Zahlen. Eine priorisierte Fehlerliste, ein Neubau. (8) ✋ Endgültige Freigabe. Sage, was du verifiziert hast und was du nicht kannst.
Maximal drei Freigabetore. Freigabe ist ein Budget; gib es dort aus, wo ein Fehler teuer wäre.
Das handwerkliche Niveau
Der Test: Würde ein stolzer menschlicher Illustrator das ausliefern, oder ist es mechanische Formzusammenstellung? Die
vollständige Tabelle der Indizien ist references/craft-bar.md. Diejenigen, die die meiste Arbeit zunichtemachen: aus Ellipsen
aufgebaute Motive, ein Stil, der in einen anderen umgefärbt wurde, Dinge, die einblenden, anstatt gezeichnet zu werden,
Menschen mit Gummi-Gelenken, und ein Charakter, der von Einstellung zu Einstellung unterschiedlich gezeichnet wird.
Keine tote Luft in allem, was sich bewegt: etwas ändert sich sichtbar jede Sekunde. Ein Film, der
sich selbst zeichnet, deklariert kind: "drawing" und wird auf einem feineren Niveau bewertet; ein Standbild fällt durch.
Die Engine
engine/ ist der portable Kunstkern plus die Werkzeuge. engine/src/canvas-core weiß nichts
über das DOM oder ein Backend. W, H, fps und durationFrames stammen aus dem meta des Films.
Kamerabewegungen (Schwenks, Zooms, Parallaxe, Verwackeln) stammen aus engine/src/canvas-core/camera.ts:
references/camera.md. render.mjs --blur N rendert mit Bewegungsunschärfe (N Subframes gemittelt in
linearem Licht pro Frame); der Standardpfad bleibt unberührt.
node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12 # Sekunden
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2 # ein Standbild, mit seinem Hash
node tools/render.mjs intro # MP4; --out x.gif|x.webm|x.apng
node tools/gate.mjs intro # Determinismus, Vertrag, tote Luft
node tools/emit.mjs intro --out out/intro.html # ein eigenständiger Offline-Player
| Werkzeug | Funktion |
|---|---|
scaffold.mjs | ein Projekt mit einem Standbild und/oder Film; --duration, --format oder --size, --fps, --bpm |
still.mjs / render.mjs | Frames, zweimal mit Hashes gezeichnet (--frames a,b,c --sheet in einem Browser) / das Stück in jedem Format (--from/--to, --poster-frame, --hashes) |
gate.mjs | Determinismus, Vertrag, tote Luft, Artefakte; --self-test beweist, dass es fehlschlagen kann |
registry.mjs / gallery.mjs | die Stil-Liste aus den Platten selbst / das Galerieblatt |
docs-check.mjs | schlägt fehl, wenn die Stilanzahl, -länge oder -pfad eines Dokuments nicht mit dem Code übereinstimmt |
verify-export.mjs | QA der gerenderten Datei: Frames, Dauer, Partitur; opt-in erster Frame, Loop-Naht, --delivery |
test.mjs (npm test) | Unit-Tests in engine/test/, kein Browser |
music.mjs | rendert und misst eine Partitur; check prüft sie (Tonart, Master, Guards, Stems, Novelty) |
sfx.mjs | das Soundeffekt-Kit: list, one, kit <dir>, test |
Vier Backends, ein Kunstkern: playwright, html-player, remotion, hyperframes.
→ references/backends-and-adapters.md
Ausgearbeitete Beispiele
- Die Stilplatten in
engine/src/canvas-core/: jede Hand hat ein Standbild und einen Film, in dem es gezeichnet wird, mit dem Rezept im Header undreferences/styles/<id>.md. - MECHANICAL LEPIDOPTERA in
example/: ein 47 s langer Film mit Partitur.scaffold.mjs ~/study --example.
Studiere sie. Kopiere sie nicht. Das handwerkliche Niveau wird nicht durch Vererbung erfüllt.
Ehrliche Grenzen
Du kannst die Partitur nicht hören, den Film in Bewegung sehen oder das interaktive Stück nutzen. Jede Behauptung
darüber stammt von einer Messung oder von einem Menschen; sage, welche. Ein grünes Häkchen ist eine Behauptung, bis
sie erneut ausgeführt wird. Rendere einen Frame mit --scale 2, bevor du einem Standbild vertraust: Eine über die
falsche Transformations geblitterte Ebene sieht bei 1x richtig aus und bricht bei 2x.