Took a bit of a break.
Simulated annealing is having some issues geometrically determining an elements neighbors. In the mean time I have cleaned up the grammar implementation to handle non-terminal symbols in the middle of a string. This has allowed me to create symmetric grammars and building.
grammar:
s gh
g bdf
f bbwf
h bob
h wow
o bzozb
o bxoxb
end
Rendered out in ambient occlusion: