anidoodle

agent
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 8 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Hand-drawn art and animation, written as code. Illustrations, loops, stickers and scored films in nine styles, identical on every render.

README.md

anidoodle: an artist's table of code-drawn doodles, with the name writing itself in calligraphy

anidoodle

Hand-drawn art, written as code.

Illustrations, animations and short films in nine hand-drawn styles.
Every mark is a function and every note is arithmetic, so the same source
redraws the same picture on every machine, at every size, for good.

Latest release Apache 2.0 Made of pure code Every render identical

English · 日本語 · 简体中文 · 한국어 · Français · Español

Styles · What you can make · What it packs · Motion · Get started

Nine styles to choose from

Nine illustrations, each in its own style: pencil and watercolour ranunculus, marker comic koi, ballpoint pocket watch, crayon hot-air balloon, ink and line-wash wren, chalkboard moon phases, cut-paper fox, risograph lighthouse, and a single-line engraved moon

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 nine different illustrators. 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.

What you can make

For You get
Your website A hero illustration, spot art for each feature, empty states and a 404, all in one hand. Transparent PNGs at any size from one source, so retina and print come free.
Explainers and reports How-it-works diagrams, cutaways and animated infographics, labelled in drafted lettering. Chalkboard, blueprint and ballpoint suit the serious ones.
Your brand A logo that draws itself on, a title sequence, a social card template that stays on brand for every post.
Social and chat Endless loops, GIFs and transparent animated stickers, sized for the feed.
Decks and docs A family of section illustrations from one program. A new seed gives a sister image in the same style.
Stories Storyboards and animatics that grow into a finished short film with an original score.

Ask in plain words, "a risograph lighthouse for our careers page, 1600×900" or "a chalkboard explainer of how our pricing tiers stack up", and anidoodle routes it to the right workflow and style recipe, asking only for what the request leaves open.

What it packs

The engine is the easy half. The craft is the part anidoodle carries for you, six lessons, each one earned by getting a piece wrong first and written down so you start where the last project ended:

  • Story gives every piece a point. One idea and one focal subject for a still; one transformation, one payoff and one returning token for a film. → storytelling.md
  • Realism comes from naming it. The anatomy, the view and the reference you opened, so a butterfly reads as a creature with a body and veins. → realism-and-craft.md
  • Style lives in the mark. Nine full recipes, a guide for picking one per job, and the steps for inventing your own. → styles.md
  • Music follows a recipe. Major key, plucked, a phrase that asks a question and resolves home, warm and sure. → music-recipe.md
  • Determinism is the guarantee. Pure functions and a seeded random, so anyone with the source rebuilds the exact same piece. → determinism-and-contract.md
  • Method keeps you fast. Prove the look on one still, build straight through, and spend approval where being wrong is expensive. → working-method.md

Every format ships from the same source: PNG, MP4 with its score, GIF, WebM and animated PNG with transparency, and one self-contained HTML file. → formats.md

It draws, then it moves

A cyanotype blueprint plate drawing itself, line by line A clockwork butterfly comes to life in watercolour and flits between ranunculus
Marks are made, in the order a hand would make them. The blueprint wakes in watercolour and flies off into its meadow.

▶ The full 47-second film, sound on. 1080×1080 with an original score, every frame and sample generated in code:

https://github.com/user-attachments/assets/019d46d3-536a-4843-9f68-8e8f5f5c3401

One pure function paints each frame, so a finished illustration is that function called once, a sticker is the same function on a loop, and a film is it with a story and a score. The same guarantees hold for all three.

Pay once, draw forever

A picture model spends tokens and compute on every frame of every render, and it draws something new each time. Code spends them once. The 47-second film is a single program: written one time, it renders all 1,410 frames and a full stereo score, at any size, on any machine, free every time it runs. That works out to about sixty tokens of code per frame on the first pass, and zero on every pass after. A still is a few hundred lines. A whole family of images is a list of seeds.

Get started

anidoodle is an agent skill: one folder with a SKILL.md at the top. For Claude Code, clone it into your skills folder:

git clone https://github.com/alexgreensh/anidoodle ~/.claude/skills/anidoodle

Then ask for what you want: "draw a pencil & watercolour pear for our recipes page". To drive the engine yourself:

node ~/.claude/skills/anidoodle/engine/tools/scaffold.mjs ~/art --still hero --film intro
cd ~/art && npm install && npx playwright-core install chromium

node tools/still.mjs  hero  --out out/hero.png --scale 2   # a finished illustration, print size
node tools/render.mjs intro --out out/intro.gif            # a loop; also .mp4 with score, .webm with alpha
node tools/emit.mjs   intro --out out/intro.html           # the whole piece as one offline file
node tools/gate.mjs   hero                                 # determinism, contract and dead air in one pass

Node 20 or newer. Stills need only the browser above; anything that moves also uses ffmpeg.

emit writes one HTML file, around 100 KB, that plays the piece with sound on a double-click, offline. It carries the recipe and draws everything again from scratch every time you open it. Attach it to an email and you have shipped a studio.

Four backends share one art core, and the core stays blissfully unaware of which one is drawing: playwright, html-player, remotion, hyperframes.

The example film

example/ holds Mechanical Lepidoptera: 1,410 frames, 47 seconds, a clockwork butterfly that drafts itself, comes alive in watercolour, and leaves its blueprint in the grass. It is the whole engine in one piece: control points placed by hand over real anatomy, a cache key that names every input a pixel depends on, a score built from the recipe, and one unbroken move from built to alive. The nine style plates sit beside the engine in engine/src/canvas-core/, each with its recipe written at the top. Open any of them, change a number, and watch what moves.

Honest by design

Sound and motion earn their claims. Every statement about the score or the movement carries a measurement or a human's eye behind it, and a green checkmark counts once it has been re-run. That discipline is why the same piece comes back byte for byte, every time, on every machine.


Licensed under the Apache License 2.0. Copyright 2026 Alex Greenshpun.

Built with anidoodle, which learned everything it knows by drawing the butterfly a few honest times.

Yorumlar (0)

Sonuc bulunamadi