# A new composition: a small house, a tall archive wing, hipped roof and working garden.
from hearthwright import Attachment, Choice, Design, Feature, Join, Level, Materials, Roof, Site, Volume
from hearthwright.cli import run

DESIGN = Design(
    'Woodland archive',
    volumes=(
        Volume('home',
               width=Choice(11, 13),
               depth=Choice(11, 13),
               levels=(Level(('living', 'kitchen', 'sleeping')),),
               roof=Roof(form=Choice('hip', 'gable'), ridge='x')),
        Volume('archive',
               width=9,
               depth=9,
               join=Join('home', Choice('east', 'west'), Choice('front', 'back')),
               levels=(Level(('study', 'enchanting')), Level(('study', 'storage'))),
               circulation='ladder',
               roof=Roof(pitch=1.5, ridge='z', cupola=False)),
    ),
    materials=Materials(wall='stone', frame='dark_oak', roof='red', trim='dark_oak', accent='blue'),
    site=Site(planting='temperate'),
    attachments=(Attachment('porch', 'home', width=7, depth=3, cover='pergola'),),
    features=(Feature('garden', 'south', Choice(5, 7)),),
)

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