# coloured_forest.cfdg startshape forest background { hue 280 sat 0.192 b -0.21 }

// forest rule forest 4.5 {

forest { s 0.8 }

} rule forest {

forest { s 1.25 }

} rule forest 0.5 {

forest { x 1 y 0.03 }
forest { x -1 }

} rule forest 0.5 {

forest { x 1 y -0.03 }
forest { x -1 }

} rule forest 0.03 {

forest { x 1 }
forest { x -1 }
seed { }

}

// seeds

rule seed {

seed { }
seed { s 1 0.9 }

} rule seed {

tree { y 0.5 r 85 sat 0.2 hue 50 | hue 90 b 0.3 } }

rule seed {

tree  { y 0.5 r 85 sat 1 hue 30 | hue 70 b 0.5 }

} rule seed {

tree { y 0.5 flip 180 r 95 sat 0.5 hue 30 | hue 50 b 0.3 } }

rule seed {

tree { y 0.5 flip 180 r 95 sat 1 hue 50 | hue 70 b 0.5 }

}

rule seed {

tree { y 0.5 r 85 s 0.8 1 sat 0.2 hue 50 | hue 90 b 0.3 }

}

rule seed {

tree { y 0.5 r 85 s 0.9 1 sat 1 hue 30 | hue 70 b 0.5 }

} rule seed {

tree { y 0.5 flip 180 r 95 s 0.9 1 sat 0.5 hue 30 | hue 50 b 0.3 }

} rule seed {

tree { y 0.5 flip 180 r 95 s 0.8 1  sat 1 hue 50 | hue 70 b 0.5 }

}

// trees

rule tree {

trunc { }
tree { x 1 r 1 s 0.9 hue 0.05| sat 0.01 b 0.05 }

}

rule tree 0.15 {

tree { flip 180 }
tree { r -20 y -0.1 s 0.5 0.85
       b -0.2 hue -0.03| sat 0.4 }

}

rule tree 0.15 {

tree { flip 180 }
tree { r -20 y -0.1 s 0.6 0.85
       b -0.2 sat 0.2 }

}

rule tree 0.05 {

tree { flip 180 }
tree { r -10 y -0.1 s 1.01
       b 0.3 hue 0.1| sat -0.1}

}

rule tree 0.01 {

tree { hue 10 }

}

// trunc rule trunc 2 {

SQUARE { s 1.1 0.2 b -0.7 sat -0.5 }
SQUARE { s 1.1 0.1 b 0.8 sat -0.2 }

}

rule trunc {

SQUARE { s 1.1 0.2 b -0.6 sat -0.5 }
SQUARE { x -0.25 s 0.55 0.1 b 0.8 sat -0.5 }
SQUARE { x 0.25 s 0.55 0.1 b 0.9 }

}

rule trunc {

SQUARE { s 1.1 0.2 b -0.6 sat -0.5 }
SQUARE { x -0.25 s 0.55 0.1 b 0.9 }
SQUARE { x 0.25 s 0.55 0.1 b 0.8 sat -0.5  }

}

// leaf

rule tree 0.1 {

leaf { }
tree { }

}

rule leaf {

drawleaf { }

}

rule drawleaf { CIRCLE { hue 70 sat -0.1 b 0.1 } } rule drawleaf { CIRCLE { hue 50 sat 0.1 } } rule drawleaf 0.05 { CIRCLE { hue -50 sat 1 b 1 } }

// leaf : waiting rule artifact

rule leaf {

waitleaf { }

} rule waitleaf {

waitleaf { }

} rule waitleaf 0.02 {

drawleaf { }

}