Plugins
Painting 13 media types — watercolor, oil, ink, bristle strokes, flow lines, mark fields, and scene repaint.
Natural media simulation with 13 layer types covering traditional media (watercolor, oil, ink, charcoal, pastel), brush tools (strokes, fills), and advanced bristle rendering with lighting, atmosphere, and wet-on-wet mixing.
npm install @genart-dev/plugin-painting
Type ID Display Name Description paint:watercolorWatercolor Watercolor wash with bleed and granulation paint:oilOil Thick oil paint with impasto texture paint:inkInk Ink wash and line work paint:charcoalCharcoal Charcoal texture with smudging paint:pastelPastel Soft pastel with paper grain interaction paint:markerMarker Alcohol marker with blending paint:spraySpray Spray paint with splatter paint:fillFill Flat color fill with edge variation paint:mark-fieldMark Field Directional marks following a vector field paint:flow-linesFlow Lines Smooth lines tracing a vector field paint:bristle-dabBristle Dab Impressionist short dabs with lighting and wet mixing paint:bristle-strokeBristle Stroke Oil-paint long strokes following vector field paint:sceneScene Paint-first rendering: re-renders layers below as bristle dabs
Property Type Default Description colorcolor"#3366cc"Pigment color opacitynumber0.6Wash opacity (0–1) bleednumber0.5Edge bleed amount (0–1) granulationnumber0.3Pigment granulation (0–1) wetnessnumber0.7Paper wetness (0–1) layersnumber1Number of wash layers
Property Type Default Description colorcolor"#cc6633"Paint color thicknessnumber0.7Impasto thickness (0–1) brushSizenumber20Brush size in pixels blendingnumber0.5Color blending (0–1) texturenumber0.4Canvas texture visibility (0–1)
Property Type Default Description colorcolor"#000000"Ink color opacitynumber0.8Ink opacity (0–1) spreadnumber0.3Ink spread on paper (0–1) lineVariationnumber0.5Stroke width variation (0–1) typeselect"brush"Ink type: brush, pen, wash
Property Type Default Description darknessnumber0.7Charcoal darkness (0–1) smudgenumber0.3Smudge amount (0–1) grainResponsenumber0.6Paper grain interaction (0–1) sizenumber15Charcoal tip size
Property Type Default Description colorcolor"#ff9988"Pastel color pressurenumber0.5Application pressure (0–1) grainResponsenumber0.7Paper grain interaction (0–1) layeringnumber0.4Color layering buildup (0–1)
Property Type Default Description colorcolor"#ff4444"Marker color opacitynumber0.7Ink opacity (0–1) bleednumber0.2Edge bleed (0–1) overlapnumber0.3Overlap darkening (0–1)
Property Type Default Description colorcolor"#000000"Spray color densitynumber0.5Particle density (0–1) radiusnumber40Spray radius splatternumber0.3Splatter amount (0–1)
Property Type Default Description colorcolor"#336699"Fill color edgeVariationnumber0.1Edge irregularity (0–1) opacitynumber1.0Fill opacity (0–1)
Property Type Default Description fieldstring"noise:0:0.1:3"Vector field specification countnumber500Number of marks markLengthnumber15Mark length in pixels markWidthnumber1.5Mark width taperselect"tail"none, head, tail, both colorcolor"#1a1a1a"Mark color colorVariationnumber0.05Color variation (0–1) opacitynumber0.6Layer opacity (0–1)
Property Type Default Description fieldstring"noise:0:0.1:3"Vector field specification countnumber100Number of flow lines stepsnumber80Steps per line stepSizenumber2Step distance lineWidthnumber1Line width colorcolor"#000000"Line color opacitynumber0.5Layer opacity (0–1)
Property Type Default Description fieldstring"noise:0:0.1:3"Vector field specification colorsstring'["#3a2a1a","#6b4c2a"]'JSON array of colors brushWidthnumber24Brush width (4–120) bristleCountnumber12Bristle count (4–40) dabLengthnumber20Dab length (4–100) overlapDensitynumber0.6Overlap density (0.1–2.0) paintLoadnumber0.7Paint load (0–1) pressurenumber0.65Pressure (0–1) textureselect"smooth"smooth, dry, rough, stipple, feathered, impasto colorModeselect"single"single, lateral, along, loaded, random, split, streaked, rainbow, complementary, analogous, temperature, loaded-knife lightAnglenumber315Light angle (0–360°) lightElevationnumber0.5Light elevation (0–1) shadowDepthnumber0.3Shadow depth (0–1) highlightStrengthnumber0.25Highlight strength (0–1) atmosphereStrengthnumber0Atmosphere effect (0–1) wetnessnumber0Wet-on-wet mixing (0–1) mixStrengthnumber0.5Mix strength (0–1) opacitynumber0.65Layer opacity (0–1)
Same property set as paint:bristle-dab with these differences:
Property Type Default Description strokeStepsnumber40Steps per stroke (10–200) strokeCountnumber300Number of strokes (20–2000) opacitynumber0.5Layer opacity (0–1)
Re-renders all layers below as bristle dabs. Uses the same brush, lighting, and atmosphere properties as paint:bristle-dab but samples colors from the composite image.
Property Type Default Description fieldstring"noise:0:0.1:3"Vector field specification brushWidthnumber16Brush width (4–80) bristleCountnumber8Bristle count (3–30) overlapDensitynumber0.8Overlap density (0.2–2.0) colorJitternumber10Color jitter (0–60) flowInfluencenumber0.8Flow field influence (0–1) lightAnglenumber— Light angle (0–360°) atmosphereStrengthnumber0Atmosphere effect (0–1) wetnessnumber0Wet-on-wet mixing (0–1) opacitynumber0.6Layer opacity (0–1)
All field-based layers accept a field string shorthand:
"noise:seed:scale:octaves" — Perlin noise field
"linear:angleDeg:magnitude" — Uniform directional field
"radial:cx:cy:diverge|converge" — Radial field
"vortex:cx:cy:radius" — Vortex/spiral field
"algorithm:channelName" — Channel from sketch algorithm
Tool Description paint_layerAdd a media layer (watercolor, oil, gouache, ink, pastel, charcoal) get_paint_fieldRead the vector field on a painting layer update_paint_fieldUpdate vector field specification generate_field_from_pointsGenerate field via RBF interpolation from control points brush_strokeAdd brush strokes to a stroke layer list_brushesList available brush presets create_brushCreate a custom brush preset erase_strokesErase strokes from a stroke layer fill_regionAdd a fill region to a fill layer update_fillUpdate fill region properties list_fill_presetsList available fill presets add_mark_fieldAdd a mark-field layer add_flow_linesAdd a flow-lines layer add_bristle_dabAdd a bristle-dab layer add_bristle_strokeAdd a bristle-stroke layer
{
"tool" : "design_add_layer" ,
"arguments" : {
"type" : "paint:bristle-dab" ,
"properties" : {
"field" : "noise:42:0.08:3" ,
"colors" : "[ \" #8b4513 \" , \" #d2691e \" , \" #228b22 \" ]" ,
"brushWidth" : 18 ,
"overlapDensity" : 0.8 ,
"texture" : "impasto" ,
"colorMode" : "loaded" ,
"lightAngle" : 315 ,
"shadowDepth" : 0.4
}
}
}