I'm curious. Are you going to be making many houses in this style or just this one?
In any case, it is a good time to show one way of using the trim. Here is the modified rule:
version "2015.1"
attr floorH = 3
attr bldgW = 8
attr wallThickness = 0.35
attr roofAngle = 30
@Startrule
Lot -->
#Change1: RoofBase01 RoofBase02 commented out.
#Change2: added RoofBase rule after Garden in remainder below.
shapeL(bldgW, bldgW) {shape : Footprint | remainder : rotateScope(0,180,0) Garden RoofBase}
Garden--> shapeL(wallThickness, wallThickness) { shape : extrude(floorH*0.75) GardenWall | remainder : Ground}
Footprint --> extrude(floorH) Envelope
#Change3: Two new rules below. Used trim planes in 2nd rule.
RoofBase -->
t(0,floorH,0)
extrude(bldgW)
comp(f){back: RoofBaseWithTrim(180) | right: RoofBaseWithTrim(0)}
# Scale operation below extends extrusions past the trim planes so they can be trimmed.
RoofBaseWithTrim(rotScope) --> extrude(bldgW) rotateScope(0,0,rotScope) s('2,'1,'1) trim
comp(f){world.up: roofShed(roofAngle) t(0,-bldgW,0) Attic}
#Change4: Removed these two rules:
#RoofBase01 --> t(0,floorH,0) rotateScope(0,90,0) split(x) { bldgW : set(trim.horizontal,true) set(trim.vertical,true) trim() roofShed(roofAngle, 2) Attic | ~1 : NIL }
#RoofBase02 --> t(0,floorH,0) rotateScope(0,90,0) split(z) { bldgW : set(trim.horizontal,true) set(trim.vertical,true) trim() roofShed(roofAngle, 1) Attic | ~1 : NIL }
GardenWall --> comp(f) {side : Wall | top : Crown }
Envelope --> comp(f) {side : Wall }
Attic --> comp(f) {vertical : Wall | top : Roof }
Wall --> color(0.9,0.8,0.6)
Crown --> color(0.7,0.7,0.7)
Roof --> color(0.9,0.7,0.6)
Ground --> color(0.2,0.6,0.2)
Rule is attached, since copy/paste into code block above sometimes messes up code.
Chris