anidoodle
Bilder, Filme und interaktive Stücke, die vollständig in Code gezeichnet werden. Eine reine Funktion malt jedes Bild; eine andere komponiert und synthetisiert jedes Audio-Sample. Derselbe Quellcode erzeugt auf jeder Maschine, in jeder Größe und jeder Länge dieselben Pixel und denselben Klang.
Der Motor ist der einfache Teil. Arbeit wird weggeworfen, weil sie keinen Sinn hatte, weil das Motiv eine Ikone seiner selbst war, weil ein Stil nur ein Palettentausch war, weil die Musik keine Form hatte oder weil die Person ihre Geduld bei der Freigabe von Fragmenten verbraucht hat. Dieser Skill trägt die Handwerkskunst, die all das verhindert.
Fragen Sie zuerst, fragen Sie dann und bauen Sie
Lesen Sie references/workflows/start-here.md und führen Sie die Aufnahme durch: eine Frage nach der anderen, nur das, was die Anfrage offen lässt, Ihre Empfehlung zuerst. Was machen sie, in welchem Stil (zeigen Sie das Galerieblatt, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg; die Liste ist references/styles/INDEX.md), in welcher 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 entscheiden und in einem Satz begründen. Schreiben Sie die Antworten in ein kurzes Briefing, bevor Sie zeichnen.
Was machen Sie?
| Was | Lesen Sie |
|---|---|
| Ein Standbild: Held, Spot, Cover, Karte, Poster, eine Serie | Standbild-Workflow unten, references/formats.md |
| Ein Bild, das sich selbst zeichnet (Zeitraffer, Making-of) | references/workflows/drawing-process.md |
| Eine Schleife, ein Sticker, animiertes Logo, ambienter Header | Loop-Workflow unten, references/formats.md |
| Ein Geschichtenfilm, beliebige 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 willkommen) | references/workflows/launch-video.md; bauen Sie es auf references/workflows/launch-video-kit.md auf |
| Eine interaktive Webanimation, die auf die UI 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 (Holzschnitt bis Baustein) | references/workflows/character-consistency.md, references/anatomy.md |
| Ein Stil, der an ihr Bild angepasst wird | references/workflows/adapt-a-style.md |
| Eine Partitur oder ein Soundtrack | references/music/README.md |
- Musik: Schreiben Sie Ihre eigene Partitur für den Film (
references/music/README.md);node tools/music.mjs check <score.ts#export>muss BESTANDEN sein, bevor ein Mensch zuhört. - Soundeffekte:
references/music/sound-design.md. 14 geschichtete, gesetzte Effekte, die durch Filmbilder ausgelöst werden (filmSfx); die Partitur duckt sich, und jeder Cue muss innerhalb von 6 dB davon liegen. Effekte nur bei echten Richtungswechseln, ein Risers + ein Impact pro Film. - Launch-Filme:
launchTemplate.tsrendert die Einführung eines Produkts aus Daten: Aufforderungen, dafür gezeichnete Tafeln, eine dafür geschriebene Partitur, Worte, Installationszeilen; Gewohnheiten, die Token sparen, sind inreferences/working-method.md.
Die sieben Gesetze
- Jedes Stück hat einen Punkt. Ein Standbild: eine Idee, ein fokales Motiv, ein Licht. Ein Film: eine Transformation, eine Belohnung, ein Token, der zurückkehrt. →
references/storytelling.md - Geben Sie den Realismus an. Nennen Sie die Anatomie, die Ansicht und die Referenz, die Sie geöffnet haben, gleichermaßen für Tiere, Objekte und Menschen. →
references/realism-and-craft.md,references/anatomy.md - Ein Stil ist eine Art, Striche zu setzen. Ändern Sie das Medium, die Kante und die Reihenfolge der Striche, über die Palette hinaus. →
references/styles.md - Beweisen Sie den Look mit EINEM Standbild, dann bauen Sie Ende-zu-Ende. Danach kosten Tore mehr, als sie sparen. →
references/working-method.md - Der Vertrag ist absolut. Nur
(frame, env)(und das Eingabelog für interaktive Stücke), nurrng(seed), keine Uhr, keinctx.filter. Nichts generiert oder heruntergeladen; Bilder, die die Person mitbringt, können eingebettet werden, gesichert durch Hash. →references/determinism-and-contract.md - Musik bekommt einen Plan, niemals ein Adjektiv. Ein Stil, eine Stimmung pro Abschnitt, die Noten als Daten, dann Messungen. Sie können sie nicht hören, also hört ein Mensch zu, bevor sie ausgeliefert wird. →
references/music/ - Einer führt Regie, einer baut, beide schreiben alles auf. Wenn eine Sitzung nachlässt, setzen Sie zurück; die Dateien sind das Gedächtnis. →
references/working-method.md
Workflows
Standbild. (1) Sagen Sie die Idee in einem Satz; nennen Sie das fokale Motiv und das Licht. (2) Öffnen Sie echte Referenzen für alles, was existiert, und notieren Sie welche. (3) Wählen Sie den Stil und lesen Sie zuerst den Kopf seiner Tafel. (4) Zeichnen Sie in der Reihenfolge dieses Mediums. (5) Rendern Sie mit still.mjs in voller Größe, führen Sie den Detaildurchlauf auf Ausschnitten durch (Gesichter, Hände, Füße, Gelenke; references/craft-bar.md), kritisieren Sie schriftlich. ✋ Eine Freigabe. (6) Liefern Sie jede angeforderte Größe und Form aus derselben Quelle und sagen Sie, dass reproducible gedruckt wurde.
Schleife. Wie ein Standbild, plus: jede Bewegung ist periodisch über die Schleife, das Motiv hört nie auf, etwas bewegt sich jede Sekunde. Überprüfen Sie die Naht (letztes Bild gegen Bild 0). ✋ Eine Freigabe, auf der bewegten Datei.
Film. (1) Die Geschichte in drei Sätzen (Aufbau, Transformation, Belohnung) und der Token; bei längeren Filmen eine Wirbelsäule plus eine Zeile pro Kapitel. Wenn Sie es nicht schreiben können, hören Sie auf. (2) Das Raster: ein Beat ist 60 x fps / bpm Bilder, der bpm aus der Partitur des Briefings; eine Cue-Tabelle enthält jede Bildnummer und ein Prüfer läuft beim Laden. (3) Echte Referenz für alles, was existiert. (4) EIN Standbild zum Look, das schwierigste Bild, schriftlich kritisiert. ✋ Freigabe. (5) EIN 8-Sekunden-Musik-Sample. ✋ Freigabe. (6) Bauen Sie den gesamten Film; mechanische Prüfungen laufen kontinuierlich. (7) Einmal durchsehen anhand der gerenderten Datei: ein Kontaktblatt pro Beat, jeder Schnitt als Paar, die Zahlen der toten Luft. Eine priorisierte Fixliste, ein Neubau. (8) ✋ Endgültige Freigabe. Sagen Sie, was Sie verifiziert haben und was nicht.
Maximal drei Freigabetore. Freigabe ist ein Budget; geben Sie es dort aus, wo ein Fehler teuer ist.
Die Handwerkslatte
Der Test: Würde ein stolzer menschlicher Illustrator dies ausliefern, oder ist es mechanische Formmontage? Die vollständige Tabelle der Indizien ist references/craft-bar.md. Diejenigen, die die meiste Arbeit zunichtemachen: Motive, die aus Ellipsen gebaut sind, ein Stil, der in einen anderen umgefärbt wird, Dinge, die einblenden, anstatt gezeichnet zu werden, Menschen mit Gummi-Gelenken und ein Charakter, der von Einstellung zu Einstellung anders 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 nach einer feineren Messlatte beurteilt; ein eingefrorenes Standbild scheitert trotzdem.
Der Motor
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 kommen aus dem meta des Films. Kamerabewegungen (Schwenks, Zooms, Parallaxe, Wackeln) kommen aus engine/src/canvas-core/camera.ts: references/camera.md. render.mjs --blur N rendert mit Bewegungsunschärfe (N Unterbilder gemittelt in linearem Licht pro Bild); 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 # Determiniertheit, Vertrag, tote Luft
node tools/emit.mjs intro --out out/intro.html # ein eigenständiger Offline-Player
| Werkzeug | Was es tut |
|---|---|
scaffold.mjs | ein Projekt mit einem Standbild und/oder Film; --duration, --format oder --size, --fps, --bpm |
still.mjs / render.mjs | Bilder 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 | Determiniertheit, Vertrag, tote Luft, Artefakt; --self-test beweist, dass es fehlschlagen kann |
registry.mjs / gallery.mjs | die Stil-Liste aus den Tafeln selbst / das Galerieblatt |
docs-check.mjs | schlägt fehl, wenn die Stilanzahl, -länge oder der -pfad eines Dokuments nicht mit dem Code übereinstimmt |
verify-export.mjs | Qualitätssicherung der gerenderten Datei: Bilder, Dauer, Partitur; optional erstes Bild, Schleifennaht, --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, Wächter, Stämme, Neuheit) |
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 Stiltafeln in
engine/src/canvas-core/: jede Hand hat ein Standbild und einen Film, wie sie gezeichnet wird, mit dem Rezept im Kopf undreferences/styles/<id>.md. - MECHANICAL LEPIDOPTERA in
example/: ein 47 s vertonter Film.scaffold.mjs ~/study --example.
Studieren Sie sie. Kopieren Sie sie nicht. Die Handwerkslatte wird nicht durch Vererbung erfüllt.
Ehrliche Grenzen
Sie können die Partitur nicht hören, den Film nicht in Bewegung sehen oder das interaktive Stück nicht nutzen. Jede Behauptung darüber stammt von einer Messung oder von einem Menschen; sagen Sie, welche. Ein grüner Haken ist eine Behauptung, bis Sie sie erneut ausführen. Rendern Sie ein Bild mit --scale 2, bevor Sie einem Standbild vertrauen: Eine Ebene, die durch die falsche Transformation geblitzt wird, sieht bei 1x richtig aus und bricht bei 2x.