# A new composition: three connected masses frame a sheltered entrance court.
from hearthwright import Attachment, Choice, Design, Join, Level, Materials, Roof, Site, Volume
from hearthwright.cli import run

DESIGN = Design(
    'Three gables court',
    volumes=(
        Volume('hall',
               width=Choice(23, 25),
               depth=Choice(11, 13),
               levels=(Level(
                   ('living', 'kitchen', 'study')), Level(('sleeping', 'storage'), layout='cross')),
               roof=Roof(ridge='x', pitch=.5)),
        Volume('work',
               width=9,
               depth=Choice(11, 13),
               join=Join('hall', 'south', 'front'),
               levels=(Level(('workshop', 'storage')),),
               roof=Roof(ridge='z', pitch=1.0)),
        Volume('guest',
               width=9,
               depth=Choice(11, 13),
               join=Join('hall', 'south', 'back'),
               levels=(Level(('sleeping', 'study')),),
               roof=Roof(ridge='z', pitch=1.0)),
    ),
    materials=Materials(wall='plaster', frame='spruce', roof='slate', accent='blue'),
    site=Site(margin=3, planting='sparse', paving='yard'),
    attachments=(Attachment('porch', 'hall', width=5, depth=3, cover='pergola'),),
)

if __name__ == '__main__':
    run(DESIGN)
