label = "building"; width = 10; depth = 10; height = 10;
{<> -> createShape(label, width, depth, height)};
# GRIDS:
{< descendant() [label=="building"] / [label=="building_front"] > -> createGrid("main_front_grid", 10, 10)};
# FRONT DEFORMATION:
{< descendant() [label=="building"] / [label=="building_front"] / [label=="main_front_grid"] / [type=="cell"] [rowIdx in (indexRange(1, 10))] [colIdx in (1, 2, 3)] [::groupRegions()] > -> addVolume("south_1", "building_front", 2, ["south_1_front", "south_1_left", "south_1_right"])};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="south_1"] / [label=="south_1_front"] > -> roundShape("front", "outside", 0.3, 5, "main_front", "vertical")};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="main_front_grid"] / [type=="cell"] [rowIdx in (indexRange(1, 10))] [colIdx in (4, 5, 6)] [::groupRegions()] > -> addVolume("south_2", "building_front", 3.5, ["south_2_front", "south_2_left", "south_2_right"])};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="south_2"] / [label=="south_2_front"] > -> roundShape("front", "outside", 0.3, 4, "main_front", "vertical")};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="main_front_grid"] / [type=="cell"] [rowIdx in (indexRange(5, 10))] [colIdx in (7, 8, 9, 10)] [::groupRegions()] > -> addVolume("south_3", "building_front", 4, ["south_3_front", "south_3_left", "south_3_right"])};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="south_3"] / [label=="south_3_front"] > -> roundShape("front", "outside", 0.3, 3, "main_front", "vertical")};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="main_front_grid"] / [type=="cell"] [rowIdx in (1, 2, 3, 4)] [colIdx in (7, 8, 9, 10)] [::groupRegions()] > -> addVolume("south_4", "building_front", 2.5, ["south_4_front", "south_4_left", "south_4_right"])};
{< descendant() [label=="building"] / [label=="building_front"] / [label=="south_4"] / [label=="south_4_front"] > -> roundShape("front", "outside", 0.3, 2, "main_front", "vertical")};