More tables less text

This commit is contained in:
Matthias Bisping 2023-01-18 19:51:13 +01:00
parent 738c51a337
commit ced1cd9559

View File

@ -401,18 +401,19 @@ class ContentGenerator:
def __call__(self, boxes: List[Rectangle]) -> Image: def __call__(self, boxes: List[Rectangle]) -> Image:
random.shuffle(boxes) random.shuffle(boxes)
char_boxes, text_boxes = lsplit(is_square_like, boxes) figure_boxes, text_boxes = lsplit(is_square_like, boxes)
if self.constrain_layouts: if self.constrain_layouts:
char_boxes = merge_related_rectangles(char_boxes) figure_boxes = merge_related_rectangles(figure_boxes)
char_boxes = lfilter(is_square_like, char_boxes) figure_boxes = lfilter(is_square_like, figure_boxes)
text_boxes = merge_related_rectangles(text_boxes) text_boxes = merge_related_rectangles(text_boxes)
text_boxes = lmap(generate_recursive_random_table, text_boxes) text_boxes = lmap(generate_random_text_block, every_nth(2, text_boxes))
plots = lmap(generate_recursive_random_table, every_nth(2, char_boxes)) tables_1 = lmap(generate_recursive_random_table, every_nth(2, text_boxes[1:]))
tables = lmap(generate_recursive_random_table, every_nth(2, char_boxes[1:])) plots = lmap(generate_random_plot, every_nth(2, figure_boxes))
tables_2 = lmap(generate_recursive_random_table, every_nth(2, figure_boxes[1:]))
boxes = text_boxes + plots + tables boxes = text_boxes + plots + tables_1 + tables_2
boxes = remove_included(boxes) boxes = remove_included(boxes)
boxes = remove_overlapping(boxes) boxes = remove_overlapping(boxes)
@ -527,7 +528,7 @@ class RecursiveRandomTable(RandomContentRectangle):
return generate_random_table(cell) return generate_random_table(cell)
# cell.content = generate_random_table(inner_region).content # cell.content = generate_random_table(inner_region).content
# return cell # return cell
elif choice == "plot" and is_square_like(cell): elif choice == "plot": # and is_square_like(cell):
return generate_random_plot(cell) return generate_random_plot(cell)
else: else:
return generate_text_block(cell, f"{choice} {size:.0f} {get_size_class(cell).name}") return generate_text_block(cell, f"{choice} {size:.0f} {get_size_class(cell).name}")