The process is also recursive, but a bit more complex.
Roughly (I'm not a botanist, some of the details could be off):
- The apical sprout gets out of the ground, and produces a straight stem pointing to the light and/or away from the ground.
- On a regular pace, nodes are created on the stem. From the nodes emerge leafs (either on both sidees, or alternating.
- The segments between the nodes continue to grow, but a a slower pace than the emerging one. They also get gradually larger.
- At some point, new sprouts emerge from the nodes, and the leaves fall.
- goto 1 for each new sprout
You could also tweak the weight and elasticity of the branches, and the probability for a new stem to emerge from a leaf.
Branches should cast shadows on one another. A stem / sprout whose leafs get too little light would die.
Genes could be the number of nodes before the new sprouts come out, the node length, the stem weight and the elasticity of the nodes...