@@ -294,19 +294,22 @@ def make_half_layout(self, gs, layout_zone, left_or_right):
294294 1 2 3 4
295295 5 6 or 7 8
296296
297- Then depending on which zones are non-zero, a different layout is generated.
297+ Then depending on which zones are non-zero, a different layout is generated using splits .
298298
299- The second box (34,78) is equal to the first box (12,56) shifted by 2. We take advantage of this fact.
299+ The zone indices in the second box (34,78) are equal to the zone indices first box (12,56)
300+ shifted by 2. We take advantage of this fact.
300301 """
301302
302303 shift = 0 if left_or_right == "left" else 2
303304
304305 layout_zone = fill_unnecessary_space (layout_zone , shift )
305306 present_zones = get_present_zones_in_half_of_layout (layout_zone , shift )
306307
308+ # `fill_unnecessary_space` ensures that zone{1+shift} always exists
307309 if present_zones == set ([f'zone{ 1 + shift } ' ]):
308310 gs [0 ,0 ] = layout_zone .get (f'zone{ 1 + shift } ' )
309311
312+ # Layouts with two non-zero zones
310313 if present_zones == set ([f'zone{ 1 + shift } ' , f'zone{ 2 + shift } ' ]):
311314 gs [slice (0 , 1 ), slice (0 + shift ,1 + shift )] = layout_zone .get (f'zone{ 1 + shift } ' )
312315 gs [slice (0 , 1 ), slice (1 + shift ,2 + shift )] = layout_zone .get (f'zone{ 2 + shift } ' )
@@ -330,7 +333,8 @@ def make_half_layout(self, gs, layout_zone, left_or_right):
330333 gs [slice (0 , 1 ), slice (0 + shift ,2 + shift )] = layout_zone .get (f'zone{ 1 + shift } ' )
331334 gs [slice (1 , 2 ), slice (0 + shift ,1 + shift )] = layout_zone .get (f'zone{ 5 + shift } ' )
332335 gs [slice (1 , 2 ), slice (1 + shift ,2 + shift )] = layout_zone .get (f'zone{ 6 + shift } ' )
333-
336+
337+ # Layouts with four non-zero zones
334338 elif present_zones == set ([f'zone{ 1 + shift } ' , f'zone{ 2 + shift } ' , f'zone{ 5 + shift } ' , f'zone{ 6 + shift } ' ]):
335339 gs [slice (0 , 1 ), slice (0 + shift ,1 + shift )] = layout_zone .get (f'zone{ 1 + shift } ' )
336340 gs [slice (0 , 1 ), slice (1 + shift ,2 + shift )] = layout_zone .get (f'zone{ 2 + shift } ' )
0 commit comments