--- # Example patterns.config for programme-driven building evolution # # This file demonstrates how to define a building programme within # the standard patterns.config file format. The presence of the # 'spaces' key automatically triggers programme-driven mode. # Building programme: 2-bedroom house with ensuite spaces: b1: usage: bedroom name: Master Bedroom size: - 16.0 - 4.0 width: - 4.0 - 1.0 proportion: - 1.5 - 0.5 adjacency: - c t1: usage: toilet name: Ensuite Bathroom size: - 5.0 - 1.5 width: - 2.5 - 0.5 adjacency: - b1 b2: usage: bedroom name: Second Bedroom size: - 12.0 - 3.0 width: - 3.5 - 0.8 adjacency: - c t2: usage: toilet name: Guest Bathroom size: - 4.0 - 1.5 adjacency: - c l1: usage: living name: Living/Dining/Kitchen size: - 35.0 - 8.0 width: - 4.5 - 1.0 proportion: - 2.0 - 0.8 level: 0 adjacency: - c t3: usage: toilet name: Ground Floor WC size: - 3.0 - 1.0 adjacency: - c level: 0 # Building constraints storey_minimum: 2 storey_limit: 5 force_roof_garden: 0 # Circulation ratio (penalise excessive corridors) # homemaker-py-hxi (DESIGN.md §39.24): disabled. The score is value/cost, a # ratio, so the per-m2 economics (circulation worth 50 against a build cost of # 200) is ALREADY a proportional pressure against circulation -- this said the # same thing a second time, and with a curve where twice the corridor is far # more than twice as bad. Its other side, "a building needs some circulation", # was worth at most 13% here and is enforced structurally anyway by the access # and connectivity checks. Set a [target, sigma] pair to re-enable. ratio_circulation: # Outside space ratio ratio_outside: - 0.30 - 0.15 # Staircase requirements staircase_min: 1 staircase_max: 1 # Other standard parameters can be included value_inside: 300.0 value_circulation: 50.0 value_outside: 100.0 # homemaker-py-ecx (DESIGN.md §39.19): an upper-level terrace is worth what # outdoor space is worth (value_outside); it is the COST that differs by level # (outside 10.0 vs outside_supported 110.0), not the value. At 300.0 -- the # `value_inside` rate -- a terrace was worth more per square metre than a real # internal room, which the owner ruled out. value_supported: 100.0