L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

generative-painting

generative-painting

Make hand-painted-looking generative paintings and short art films in code, in a chosen painting style — watercolour (translucent glazes, graphite and ink on paper, the "Beautiful Collisions" look), pointillism (Seurat-style divided-colour dots), charcoal with red conté, graphite or pen-and-ink sketch, woodcut / linocut print, or 2D cel animation — or sever…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: generative-painting description: Make hand-painted-looking generative paintings and short art films in code, in a chosen painting style — watercolour (translucent glazes, graphite and ink on paper, the "Beautiful Collisions" look), pointillism (Seurat-style divided-colour dots), charcoal with red conté, graphite or pen-and-ink sketch, woodcut / linocut print, or 2D cel animation — or several mixed plate by plate, with hard-cut collision editing, deterministic particle motion, a soft code-generated score, and a self-contained runnable engine (p5 + p5.brush + Vite + Playwright + ffmpeg) that exports lossless plates, MP4s, a WAV and automated checks. Also covers 16:9 1080p films, fixed-anchor on-screen text and pixel characters, repainting an existing film in another style with provably identical geometry, and adding brand-new painting styles. Use it whenever someone wants a painted or illustrated video, reel, loop, montage, launch film, animated artwork or generative painting of any subject (flowers, ocean, birds, cities, a product…), mentions watercolour, pointillism, stippling, dots, Seurat, charcoal, sketching, pencil, ink, woodcut, linocut, printmaking, 2D animation, botanical illustration or "Beautiful Collisions", wants an artwork remade in a different painting style, or wants to invent a new generative art style — even if they never name a style.

Generative painting

One engine, several painting styles. Every film is a sequence of finished plates (paintings drawn once by code, then held), edited with hard cuts, with rare deterministic particle motion and a quiet score. The style decides how a plate's drawing becomes paint, and it can be set per film or per plate.

All paths are relative to this skill's folder.

1. Choose a style

StyleLookBest forRead
watercolourtranslucent glazes that bleed and mix like pigment; graphite and ink lines, hatching and speckle on varied paper; antique scientific illustration colliding with editorial designbotanical, archival, delicate or tactile subjects; pale papers, diagrams, grounds under textstyles/watercolour/STYLE.md
pointillismthousands of distinct divided-colour dabs; form, light and edges built from dot density and colour familiesluminous, textural, "made of dots" work; forms that dissolve into points; repainting an existing filmstyles/pointillism/STYLE.md
charcoaldirectional charcoal strokes and smudge on toothy paper, eraser highlights, one red conté accentweight, tension, grief, aftermath, figures; things drawn on stroke by strokestyles/charcoal/STYLE.md
sketchgraphite hatching and searching contours, or crisp pen and ink; red pencil accentcalm openings, notes, diagrams, cracks, counts; draw-onstyles/sketch/STYLE.md
woodcutrelief print: standing ink, carved paper, gouged greys, a misregistered red block, wood grainforce, violence, declaration: lightning, a charge, a hammer, stairsstyles/woodcut/STYLE.md
cel2D animation: flat paint, hard cel shadow, thick-thin ink line, line boil on twosgauges, clocks, machines, impacts; anything with moving partsstyles/cel/STYLE.md
mixedany of the above chosen per plate, switched at cutsmontages about variety or change, emotional arcs, launchesreferences/choosing-and-mixing-styles.md

Look at each style's examples/ before choosing. If the user doesn't name a style:

  • ask when the choice matters;
  • otherwise choose watercolour for delicate or archival briefs and pointillism for luminous or textural ones;
  • say which you picked.

references/choosing-and-mixing-styles.md has the decision table and the rules for when a cut should change material.

Run scripts/new-film.sh --list to see the installed styles. New styles plug in without changing the engine (references/adding-a-style.md).

2. Shared workflow (every style)

  1. Plan the shot list before code.
    • Default length is 26 s at 24 fps (624 frames), about 21 shots.
    • Columns: shot · frames · archetype · subject · ground/palette · material and mark treatment · sound.
    • Follow the rhythm template and the cut rule in references/editing.md:
      • a dense opener, which also closes the loop;
      • a near-empty breath;
      • alternating dark/pale and crowded/sparse;
      • two particle passages;
      • an "almost nothing" beat;
      • a hero plate and then a crop of it;
      • a 3-second monument;
      • a quiet archival close;
      • a repeat of the opener.
    • Every ordinary cut changes at least 3 of 6 axes.
    • This pattern is the house default, not a law: references/experimenting.md says what is fixed and what to vary.
    • Show the table to the user.
  2. Scaffold: run scripts/new-film.sh --style <style> <project-dir> <film-id>, then npm run export once to confirm the machine works. Each style's demo exercises every feature.
  3. Paint plates:
    • Write one file per painting in src/scenes/ and register it in src/scenes/index.js.
    • Start from the closest recipe in styles/<style>/scene-library/; the recipes copy straight in, and any scene works in any style.
    • Draw with the kit and helpers in references/drawing-kit.md. Build silhouettes before texture.
    • Run npm run plates -- --only <id>, then look at out/<film>/plates/<id>.png at full size.
    • Fix generic or empty plates before moving on.
  4. Set style-specific settings:
    • Pointillism: PLATES[id].material (profile, coverage, dot size).
    • Watercolour: palette and paper choices inside each scene.
    • Mixed: PLATES[id].style per plate.
    • See the style's STYLE.md.
  5. Add motion (optional): dust, radial, school or jelly particles (references/editing.md → Motion). The replay materials also have motion of their own: draw-on (the drawing appears stroke by stroke) and boil (the hand-drawn 2D line). See references/motion-in-the-medium.md.
  6. Sound: the soft score is the default, about −22 LUFS (references/sound.md). Each shot declares a sound character.
  7. Export and verify:
    • Run npm run export. It refuses to finish if any check fails.
    • Run python3 tools/cut_audit.py out/<film>.
    • Do the visual review in references/verifying.md.
    • Report concrete per-shot observations, and say plainly what you measured versus actually watched or listened to.

A single painting is the same flow with one shot covering all frames; the deliverable is the plate PNG from npm run plates.

16:9, on-screen text or characters: plates can be any size (plateSetup(…, 1920, 864)). Read references/widescreen-and-titles.md for the compositor, the phrase track, glyph-mask contrast, locked fonts and pixel characters.

3. Rules that hold in every style

  • Integer frames are the source of truth. Plates are painted once and cached, so held frames are bit-identical. Particles are pure functions of time, with no per-frame re-randomising.
  • All randomness goes through the seeded kit (p.random/k.R) so a plate's seed controls it. Never use Math.random() in a scene.
  • By default there's no text inside frames. When a brief needs words, use a fixed-anchor phrase track or title cards (references/widescreen-and-titles.md), never text painted into plates.
  • For square films, the 1080 MP4 is a Lanczos upscale of the 600 master. Always call it that. Call a film "rendered at 1080p" only when its plates really were.
  • The default sound is quiet and low. Use the livelier score only on request.

4. Files

PathContents
engine/the runnable project copied into every film: src/ (capture, pointillism, materials/ charcoal · sketch · woodcut · cel, kit, sea, ocean, particles, renderer, scores), scripts/export.mjs, tools/ (cut audit, ΔE, playback check)
styles/<style>/STYLE.mdhow the style looks, how its material works, how it mixes, its hard rules
styles/<style>/demo/the style's demo film.js and scenes (used by new-film.sh)
styles/<style>/scene-library/finished paintings to copy and adapt
styles/<style>/examples/contact sheets of finished films
styles/_template/the starting point for a new style
styles/watercolour/style-dna.md, archetypes.mdpalette families and composition archetypes
styles/pointillism/material.md, translating.mdmaterial parameters and calibration; repainting a film
references/choosing-and-mixing-styles.mdwhich style for which brief; when a cut changes material
references/motion-in-the-medium.mddraw-on (with drawOnTail) and line boil
references/experimenting.mdinvariants versus style laws versus defaults; the dials worth changing first
references/editing.mdrhythm, cut rule, archetypes, motion
references/drawing-kit.mdthe drawing kit, p5.brush behaviour, determinism rules
references/widescreen-and-titles.md16:9 at 1080p, phrase tracks, text contrast, fonts, pixel characters
references/sound.mdscore characters and seeds
references/verifying.mdautomated checks, compression, audit, review checklist
references/adding-a-style.mdhow to add a new painting style
Skills enregistrées