anidoodle
alexgreensh · alexgreensh/anidoodle
Lets your agent create illustrations, drawing timelapses, animated loops, interactive web art and short films as deterministic code in 31 styles.
Art and animation, written as code. Illustrations, loops, interactive web art, launch-videos and scored films in dozens of styles, identical on every render.
Preview
What you can do with it
- Generate a set of on-brand illustrations in one consistent hand-drawn style
- Make a launch video or explainer animation for your app
- Build interactive web art for a landing page
Safety check
No risky patterns found in the files we scanned.
Automated scan of the repo files. Always review code you run.
From the README
https://github.com/user-attachments/assets/1cf7f75c-b040-4c00-bf0c-cf1885f8b8da
The launch film, 77 seconds. Every frame and every sound in it was made with anidoodle, in code.
anidoodle
Hand-drawn art, written as code.
Illustrations, drawing timelapses, films, explainers and interactive web art in 31 styles. Every mark is a function and every score is written, so the same source redraws the same picture on every machine, at every size, for good.
Works in Claude Code · Codex · Grok Build · and any agent that reads skills. Install
English · 日本語 · 简体中文 · 한국어 · Français · Español
Styles · Drawing films · Music · What you can make · What it packs · Motion · Get started
31 styles to choose from
Each style is its own way of making a mark: the taper of a nib, the bleed of a wash, the scumble of chalk on slate, the torn edge of cut paper, the halftone of a risograph drum, one engraved line spiralling out to become a moon. The subject changes shape in each hand, the way it would for thirty-one different illustrators. Every style also ships a film of its picture being drawn, mark by mark, in the order an artist in that medium works. Pick one for your brand and every picture after it arrives in the same hand. Every plate above, and the contact sheet itself, is drawn by code in this repo.
All 31 styles, and how each one is made
| Style | How it's made |
|---|---|
| Ballpoint | One biro; tone from where hatching sits |
| Broken colour | Separate dabs of unmixed colour, impressionist |
| Chalkboard | Side-of-chalk scumble with dust |
| Charcoal erasure | Charcoal drawn, erased and redrawn, ghosts kept |
| Coloured pencil | Directional pencil hatching on toothy cream paper |
| Crayon | Waxy scribble fills that skip the paper's valleys |
| Cut-paper collage | Torn and cut paper, no drawn lines |
| Cyanotype blueprint | Ruling-pen drafting on a cyanotype sheet |
| Embroidery | Thread stitched through linen in a hoop |
| Flat vector | Crisp geometric shapes with grain and long shadows |
| Folk-tale storybook | Painted foreground dissolving into pencil line on cream paper |
| Ink & line-wash | Washes first, then a flexible nib |
| Isometric | A 2:1 isometric cutaway in flat-shaded planes |
| Low-poly 3D | Flat-shaded triangles, drawn in code |
| Marker comic | Flat cel fills and one heavy contour |
| Mid-century gouache | Opaque matte shapes, dry-brush edges, loose line |
| Newsprint halftone | One black screen plus a spot colour on newsprint |
| Painted oil | Bristle strokes and impasto on a toned canvas |
| Paper-craft | Layered cut paper and painted cut-outs, on twos |
| Pencil & watercolour | Washes that never quite fill their pencil line |
| Pixel art | A fixed 16-colour palette on a low-res grid |
| Risograph | Ink drums overprinting through registration |
| Rubber-hose | 1930s cartoon ink with bendy limbs and film grain |
| Scratchboard | White lines scratched out of black clay |
| Single-line engraving | One unbroken spiral whose width is the tone |
| Stipple | Pen dots whose density is the tone |
| Storybook | Pencil and watercolour for characters |
| Sumi-e | One loaded brush on absorbent paper |
| Toy brick | Studded plastic bricks, built layer by layer |
| Vintage scrapbook | Engravings, cut-letter titles and taped cards on aged paper |
| Woodcut / ukiyo-e | A carved keyblock and colour blocks on washi |
Every style draws itself
Every style ships the finished picture and, from the same source, a film of it being made in the order an artist in that medium works. Watercolour lays in pencil, then washes light to dark. A woodblock prints the keyblock, then each colour block. Pixel art blocks in flat shapes, then shades clusters. Nothing fades in: every stroke grows, every wash spreads from where the brush touched, and the film's last frame is the still, pixel for pixel. It is the timelapse, the making-of and the explainer diagram in one.
Music, composed in code
The notes are written as data and the engine makes the sound. Nothing in this repository is a recording. A music style is a vocabulary the model composes from, never a preset: 21 of them, from lo-fi electronic, house and synthwave to orchestral, jazz, folk and solo piano. Each gives the sound, the grooves and the harmony language; the chords, the motif and the form are written new, so every film gets its own score.
Install the optional sound pack and eight acoustic instruments play recordings of real ones: a Steinway grand and an upright, concert harp, marimba, vibraphone, glockenspiel, tubular bells and timpani, in three recorded rooms. Synths, lo-fi colour, electronic drums and sound effects stay in code. Without the pack every score still plays, unchanged.
node <skill>/engine/tools/soundfetch.mjs list # the install directory and what is installed
node <skill>/engine/tools/soundfetch.mjs get all # download (373 MB), verify by hash, unpack; your agent asks you first
- Keys: a piano modelled on a real Steinway grand, Rhodes and Wurlitzer electric pianos, tonewheel and pipe organs, mallets and bells.
- Ensemble: string sections of separate players, brass, flute and clarinet, a choir that sings its vowels, nylon, steel and electric guitars, harp and four kinds of bass.
- Drums: real kits in code (acoustic, 808, 909, dusty, brushes, orchestral with timpani), every hit a little different.
- Real lo-fi: a 12-bit sampler, tape wobble and hiss, vinyl crackle and a kick that makes the mix breathe.
- Mix and room: per-part EQ, a drum bus, hall, plate and convolution reverbs, and a master at streaming loudness.
node tools/music.mjs check clears a score before anyone listens: key and mode, loudness, masking, the balance of every part, and novelty, which fails a score that sou