Leaf
One modelled leaf prototype. Foliage distributes copies along curves.

Input: Numeric settings
Output: Leaf → Foliage.Leaf
| Parameter | Example value | Meaning / visible effect |
|---|---|---|
| Length | 0.22 | Blade length in metres. |
| Width | 0.075 | Blade width in metres. |
| Fold | 0.3 | Fold across the blade's midrib. |
| Droop | 0.2 | Bending of the individual leaf, not the branch. |
| Cup | 0.09 | Cupping across the leaf surface. |
| Petiole | 0.025 | Leaf-stalk length in metres. |
| ResU | 3 | Blade subdivisions across its width. |
| ResV | 11 | Blade subdivisions along its length. |
| MaterialSlot | 1 | Details: leaf material slot for this tutorial. |
Leaf Card
Alternative to Leaf. Match the atlas grid to the assigned texture.

Input: Card, Shape, Atlas and Shading settings
Output: Leaf → Foliage.Leaf
| Parameter | Example value | Meaning / visible effect |
|---|---|---|
| Layout | Cross | Two intersecting planes. Single is one plane; Fan is flat. |
| Length | 0.45 | Card length in metres. |
| Width | 0.38 | Card width in metres. |
| Bend | 0.16 | Sag relative to card length. |
| SegmentsV | 3 | Length subdivisions that allow the bend to show. |
| AtlasColumns | 4 | Use 4 only with the shipped 4-column species atlas. |
| AtlasRows | 4 | Use 4 only with the shipped 4-row species atlas. |
| AtlasIndex | -1 | Walk the allowed atlas cells instead of fixing one cell. |
| AtlasFirst | 0 | First allowed cell. Restricts a mixed-species atlas. |
| AtlasCount | 0 | 0 allows cells through the end of the atlas. |
| NormalBlend | 0.7 | 0 = plane normals; 1 = outward cluster normals. |
| MaterialSlot | 1 | Assign a matching masked foliage material to the graph's leaf slot. |
Foliage
Both geometry inputs are required. A prototype alone does not make a canopy.

Input: Twigs ← twig Curves; Leaf ← Leaf.Leaf
Output: Instances → final Join Geometry.Geometry
| Parameter | Example value | Meaning / visible effect |
|---|---|---|
| Seed | 17 | Repeatable leaf placement and orientation. |
| Count | 8 | Instances per eligible curve, not total leaf count for the tree. |
| TrimStart | 0.15 | Start of leaf placement along each twig (0–1). |
| TrimEnd | 1 | End of leaf placement along each twig. |
| Size | 1 | Multiplier on the prototype's dimensions; not metres. |
| SizeRand | 0.3 | Random size variation. |
| Angle | 1.05 | Radians relative to the supporting curve. |
| AngleRand | 0.28 | Random angle variation in radians. |
| AzJitter | 0.3 | Variation around the supporting curve. |
| Droop | 0.28 | Placement droop; distinct from Leaf.Droop. |
| FaceUp | 0.75 | 0–1 tendency to face skyward. Try 0.15 for crossed cards. |
| RollRand | 0.4 | Random roll in radians. Cards benefit from stronger roll variation. |
| MinLevel | -1 | Minimum branch-order tag. -1 accepts the supplied curves. |
Frond
For narrow grass: keep SplitDepth at 0 and use metre-scale dimensions.

Input: Shape and tearing settings
Output: Leaf → Foliage.Leaf
| Parameter | Example value | Meaning / visible effect |
|---|---|---|
| Length | 0.65 | Blade length in metres before Foliage.Size. |
| Width | 0.014 | Total blade width in metres: 0.014 m = 1.4 cm. |
| PetioleFraction | 0.03 | Bare stalk as a fraction of blade length. |
| Arch | 0.22 | Tip sag relative to length. Raise for arching grasses. |
| Fold | 0.1 | V-shaped fold across the midrib. |
| Curl | 0.05 | Curvature across each half of the blade. |
| Twist | 0.1 | Twist along the blade in radians. |
| Segments | 24 | Longitudinal strip count; also affects blade sampling. |
| SplitDepth | 0 | 0 = continuous blade; higher separates the edges into strips. |
| SegmentsAcross | 3 | Samples across the blade for its folded shape. |
Additional foliage decisions
| Choice / settings | Purpose | Caution |
|---|---|---|
| Leaf / Leaf Card | Modelled blade / textured plane cluster | Cards need the correct masked material and atlas grid. |
| Card Layout | Cross/Star give volume; Fan is flat; Whorl is a shallow bowl | Fan can disappear edge-on. Planes is ignored by Single and Cross. |
| Card Tilt, FanSpread | Plane angle and fan opening in radians | These are card layout, not branch direction. |
| Card Curl, Twist, SegmentsU | Crosswise shape and tessellation | Increase sampling only where needed. |
| Foliage BareChance, ClumpRand, LimbBareChance | Empty twigs, density variation and bare limb groups | Start at 0; high values intentionally remove canopy coverage. |
| Frond ArchPower, FoldTipBias | Distribution of blade bending/folding | First fix overall dimensions and scale. |
| Frond SplitDepth, SplitGap, SplitChance | Torn broad leaves or separated strips | Keep SplitDepth = 0 for intact grass blades. |
| Frond BaseEnd, BaseFull, BaseCap, TipStart, TipFull, TipCap | Blade widening and tip narrowing | Inspect a single prototype close up. |
| MaterialSlot | 0 bark / 1 leaf for these examples | Slot index and graph material assignment are different controls. |