genart.dev
Plugins

Plants

Procedural plants — trees, flowers, ferns, grasses, and ecosystems via L-systems, phyllotaxis, and geometric engines.

Procedural botanical illustration using L-system, phyllotaxis, and geometric engines. 110 presets across 9 categories with drawing styles, growth animation, and wind dynamics.

Installation

npm install @genart-dev/plugin-plants

Layer Types

Type IDDisplay NameDescription
plants:treeTreeL-system trees with depth-based coloring
plants:fernFernL-system ferns (Barnsley, maidenhair, bracken)
plants:flowerFlowerL-system, phyllotaxis, and geometric flowers
plants:vineVineClimbing and trailing L-system plants
plants:grassGrassGrasses, cereals, and bamboo via L-system
plants:phyllotaxisPhyllotaxisRosettes, spirals, and radial patterns
plants:root-systemRoot SystemTaproots, fibrous roots, rhizomes via L-system
plants:hedgeHedgeDense shrubs and hedgerows from multiple instances
plants:ecosystemEcosystemMulti-plant scene with depth and atmospheric perspective

Properties

All plant layer types (except ecosystem) share a common property set.

Common Properties

PropertyTypeDefaultDescription
seednumber42Random seed for stochastic variation
iterationsnumber0L-system iteration count (0–12)
trunkColorcolor""Trunk/stem color
branchColorcolor""Branch/secondary color
leafColorcolor""Leaf/accent color
drawingStyleselect"precise"Drawing style: precise, ink-sketch, silhouette
detailLevelselect"standard"Detail: minimal, sketch, standard, detailed, botanical-plate
strokeJitternumber0Stroke jitter amount (0–1)
inkFlownumber0.5Ink flow/wetness (0–1)
lineWeightnumber1Line weight multiplier (0.1–5)
elevationnumber0View elevation angle in degrees (0–90)
azimuthnumber0View rotation in degrees (0–360)
growthTimenumber1Growth time 0–1 (continuous tDOL interpolation)
growthCurveselect"linear"Growth easing: linear, sigmoid, spring
windDirectionnumber0Wind direction in degrees (0–360)
windStrengthnumber0Wind strength (0–1)
gustFrequencynumber1Gust oscillation frequency (0.1–5)
gustVariancenumber0.3Gust strength randomness (0–1)
windTurbulencenumber0Spatial wind variation via Perlin noise (0–1)
windTimenumber0Wind animation time within gust cycle (0–1)
showFruitbooleanfalseEnable fruit rendering
fruitTypeselect"apple"Fruit type: apple, orange, cherry, berry, cone, acorn, seed-pod
fruitDensitynumber0.3Fruit density (0–1)
showBarkbooleanfalseEnable bark texture
barkTypeselect"furrowed"Bark: smooth, furrowed, peeling, rough, ringed
showVeinsbooleanfalseEnable leaf vein rendering
veinPatternselect"pinnate"Vein pattern: pinnate, palmate, parallel, dichotomous

plants:hedge (additional)

PropertyTypeDefaultDescription
countnumber5Number of plant instances (2–15)
densitynumber0.7Overlap density factor (0.2–1.0)

plants:ecosystem

PropertyTypeDefaultDescription
seednumber42Random seed
arrangementselect"scatter"Style: scatter, row, grove, border, terraced
groundTypeselect"none"Ground: none, grass, soil, water, stone, snow
groundColorcolor""Ground color
fognumber0.3Atmospheric fog strength (0–1)
atmosphereColorcolor"#8899bb"Atmosphere color for perspective
drawingStyleselect"precise"Drawing style: precise, ink-sketch, silhouette
detailLevelselect"standard"Detail level
lineWeightnumber1Line weight multiplier

MCP Tools

ToolDescription
add_plantAdd a plant layer from 110 botanical presets
list_plant_presetsList presets with filtering by category, tags, complexity, or engine
search_plantsFull-text search across preset names, scientific names, and tags
set_plant_grammarEdit L-system grammar: axiom, productions, iterations, angles
set_plant_tropismConfigure tropism forces (gravity, phototropism, susceptibility)
set_plant_seasonSwitch color palette to seasonal variant (spring/summer/autumn/winter)
grow_plantStep L-system growth by changing iteration count
create_gardenCompose multiple plant layers with random positions and seeds
randomize_plantAdd a random plant, optionally constrained by category or engine
analyze_phyllotaxisCompute parastichy numbers, divergence angle, Fibonacci spirals
explain_grammarHuman-readable explanation of a preset's L-system grammar
create_inflorescenceCreate flower clusters (bouquet, wreath, meadow, row, spiral)
set_plant_styleSet drawing style and detail level with jitter and ink flow
suggest_plant_styleGet ranked style recommendations for a preset
set_plant_growthSet continuous growth time and 3D camera angle
advance_plant_growthAdvance growth time by step or to target value
set_plant_windConfigure wind dynamics (direction, strength, gusts, turbulence)
create_ecosystemCreate multi-plant scene with depth and atmospheric perspective
export_plant_pathsExport preset as stroke paths for plugin-painting brush layers

Example

{
  "tool": "design_add_layer",
  "arguments": {
    "type": "plants:tree",
    "properties": {
      "seed": 137,
      "iterations": 5,
      "drawingStyle": "ink-sketch",
      "detailLevel": "detailed",
      "windStrength": 0.3,
      "windDirection": 270
    }
  }
}