# Generate an individual building composition and composed garden with explicit seeds.
import argparse
from pathlib import Path
from hearth.lodges import hillside_home, gabled_hall, high_house, lodge_scene
from hearth.persistence import export_scene

PROGRAMS = {'home': hillside_home, 'hall': gabled_hall, 'high': high_house}

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('program', choices=PROGRAMS)
    parser.add_argument('--seed', type=int, default=0)
    parser.add_argument('--environment-seed', type=int, default=0)
    parser.add_argument('--output', type=Path, default=Path('samples/building-quality/lodge.litematic'))
    args = parser.parse_args()
    export_scene(lodge_scene(PROGRAMS[args.program](args.seed), args.seed, args.environment_seed), args.output)
