[interpolatable] Add Summary page to the front

This commit is contained in:
Behdad Esfahbod 2023-12-14 09:15:19 -07:00
parent a5c056e088
commit 7980707fe2
2 changed files with 5 additions and 4 deletions

View File

@ -1099,11 +1099,12 @@ def main(args=None):
doc.add_title_page( doc.add_title_page(
original_args_inputs, tolerance=tolerance, kinkiness=kinkiness original_args_inputs, tolerance=tolerance, kinkiness=kinkiness
) )
if problems:
doc.add_summary(problems)
doc.add_problems(problems) doc.add_problems(problems)
if not problems and not args.quiet: if not problems and not args.quiet:
doc.draw_cupcake() doc.draw_cupcake()
if problems: if problems:
doc.add_summary()
doc.add_index() doc.add_index()
doc.add_table_of_contents() doc.add_table_of_contents()

View File

@ -348,7 +348,7 @@ class InterpolatablePlot:
self.draw_label("Parameters:", x=x, y=y, width=width, bold=True) self.draw_label("Parameters:", x=x, y=y, width=width, bold=True)
y -= self.pad + self.line_height y -= self.pad + self.line_height
def add_summary(self): def add_summary(self, problems):
self.set_size(self.total_width(), self.total_height()) self.set_size(self.total_width(), self.total_height())
pad = self.pad pad = self.pad
@ -356,11 +356,11 @@ class InterpolatablePlot:
height = self.total_height() - 2 * self.pad height = self.total_height() - 2 * self.pad
x = y = pad x = y = pad
self.draw_label("Summary", x=x, y=y, bold=True, width=width) self.draw_label("Summary of problems", x=x, y=y, bold=True, width=width)
y += self.line_height y += self.line_height
glyphs_per_problem = defaultdict(set) glyphs_per_problem = defaultdict(set)
for glyphname, problems in self.toc.values(): for glyphname, problems in sorted(problems.items()):
for problem in problems: for problem in problems:
glyphs_per_problem[problem["type"]].add(glyphname) glyphs_per_problem[problem["type"]].add(glyphname)