@genart-dev/styles
v0.1.0
Published
Art styles, movements, artist profiles, and style recipes for genart.dev
Downloads
455
Maintainers
Readme
@genart-dev/styles
Art movements, artist profiles, media types, and style recipes for genart.dev — a curated knowledge base for AI-driven generative art. Includes 30 art movements, 14 artist profiles, 12 media types, and 26 style recipes with layer stacks, palettes, and agent guidance.
Part of genart.dev — a generative art platform with an MCP server, desktop app, and IDE extensions.
Install
npm install @genart-dev/stylesUsage
import {
// Registry — all data collections
MOVEMENTS, ARTISTS, MEDIA, RECIPES,
MOVEMENT_BY_ID, ARTIST_BY_ID, MEDIA_BY_ID, RECIPE_BY_ID,
// Resolver — typed lookups by ID
getMovement, getArtist, getMedia, getRecipe,
resolveStyle, getRecipesForStyle,
// Search — keyword, tag, era, region filtering
searchStyles, searchRecipes,
// Suggest — natural-language style recommendation
suggestStyles, suggestRecipesFor,
// Palette — color extraction and utilities
getRecipePalette, getMovementPalettes, getArtistPalettes,
mergedPalette, tint, shade, luminance, sortByLuminance,
// Timeline — chronological view of movements
getTimeline, getMovementsInRange,
getContemporaryMovements, getTimelineByEra,
} from "@genart-dev/styles";Art Movements (30)
Impressionism, Pointillism, Post-Impressionism, Art Nouveau, Expressionism, Fauvism, Cubism, Futurism, Suprematism, Constructivism, De Stijl, Bauhaus, Abstract Expressionism, Color Field, Hard Edge, Pop Art, Op Art, Minimalism, Memphis, Glitch Art, Generative Art, Ukiyo-e, Sumi-e, Islamic Geometric, Baroque, Surrealism, Synthwave, Vaporwave, Wabi-Sabi, Risograph.
Each movement includes era, region, date range, description, characteristics, principles, color/composition character, notable artists, related movements, and tags.
const impressionism = getMovement("impressionism");
// → { id, name, era: "modern-early", yearStart: 1860, yearEnd: 1886, ... }Artist Profiles (14)
Monet, Van Gogh, Seurat, Hokusai, Matisse, Pollock, Rothko, Mondrian, Kandinsky, Warhol, Lichtenstein, Tyler Hobbs, Sol LeWitt, Renoir.
Each profile includes visual signature, subjects, techniques, color tendencies, and linked recipes.
const vanGogh = getArtist("van-gogh");
// → { id, name, born: 1853, died: 1890, visualSignature: "...", ... }Media Types (12)
Oil on Canvas, Watercolor, Gouache, Acrylic, Pastel, Woodcut, Screenprint, Etching, Risograph, Generative Code, Pixel Art, Glitch Digital.
Style Recipes (26)
Recipes are actionable layer stacks that an AI agent can apply to a sketch. Each recipe includes:
- Layer stack — ordered design layers with typeId, blend mode, opacity, and properties
- Suggested palette — curated hex colors for the style
- Recommended renderers — which genart renderers work best
- Agent guidance — natural language instructions for the AI
const recipe = getRecipe("impressionism-landscape");
// → { layers: [...], suggestedPalette: ["#8DACD4", ...], agentGuidance: "..." }
// Find all recipes for a movement
const recipes = getRecipesForStyle("movement", "impressionism");Available Recipes
| Recipe | Style | Renderers |
|--------|-------|-----------|
| impressionism-landscape | Impressionism | canvas2d |
| impressionism-figure | Impressionism | canvas2d |
| van-gogh-wheatfield | Van Gogh | canvas2d |
| van-gogh-starry-night | Van Gogh | canvas2d |
| pointillism-landscape | Pointillism | canvas2d |
| pointillism-figure | Pointillism | canvas2d |
| pop-art-benday | Pop Art | canvas2d |
| pop-art-silkscreen | Pop Art | canvas2d |
| op-art-vasarely | Op Art | canvas2d, webgl |
| op-art-bridget-riley | Op Art | canvas2d |
| bauhaus-composition | Bauhaus | canvas2d, svg |
| bauhaus-typographic | Bauhaus | canvas2d, svg |
| ukiyo-e-landscape | Ukiyo-e | canvas2d |
| ukiyo-e-figure | Ukiyo-e | canvas2d |
| sumi-e-bamboo | Sumi-e | canvas2d |
| sumi-e-mountain | Sumi-e | canvas2d |
| generative-flow-field | Generative Art | canvas2d, webgl |
| generative-fibers | Generative Art | canvas2d |
| generative-circle-pack | Generative Art | canvas2d, svg |
| minimalism-composition | Minimalism | canvas2d, svg |
| minimalism-grid | Minimalism | canvas2d, svg |
| abex-action-painting | Abstract Expressionism | canvas2d |
| abex-color-field | Abstract Expressionism | canvas2d |
| de-stijl-composition | De Stijl | canvas2d, svg |
| synthwave-grid | Synthwave | webgl, canvas2d |
| vaporwave-collage | Vaporwave | canvas2d |
Search
// Search by keyword
const results = searchStyles({ query: "japanese" });
// Filter by era + kind
const earlyModern = searchStyles({ kind: "movement", era: "modern-early" });
// Search recipes by renderer
const glslRecipes = searchRecipes({ renderer: "webgl" });
// Search recipes by tag
const landscapes = searchRecipes({ tags: ["landscape"] });Natural-Language Suggestions
const suggestions = suggestStyles("dark moody night scene with swirling sky");
// → [{ result: {...}, confidence: 0.85, reason: "..." }, ...]Palette Utilities
import { getRecipePalette, tint, shade, luminance, sortByLuminance } from "@genart-dev/styles";
const palette = getRecipePalette("impressionism-landscape");
// → { colors: ["#8DACD4", ...], source: "recipe" }
const lighter = tint("#804040", 0.5);
const darker = shade("#804040", 0.5);
const sorted = sortByLuminance(["#FFFFFF", "#888888", "#000000"]);Timeline
import { getTimeline, getMovementsInRange, getContemporaryMovements } from "@genart-dev/styles";
// All movements chronologically
const timeline = getTimeline();
// Movements active between 1860-1900
const lateNineteenth = getMovementsInRange(1860, 1900);
// Movements contemporary with Impressionism
const contemporaries = getContemporaryMovements("impressionism");License
MIT
