mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-25 10:50:14 +00:00
b369a50b68
* fix(optimize): count what form fields and comments draw with by kind The space audit claimed the AcroForm and annotations before any page resources, so the fonts in /DR and in widget and comment appearance streams were counted as Forms or Comments. A fillable form with an embedded field font showed mostly "Forms" and almost no "Fonts". Resources are now sorted by kind first, wherever they are used: page resources, the form's default resources and every annotation appearance (one stream or a dictionary of states). A form XObject's other entries now count as X Object Forms instead of overhead. Sorting nested forms' resources recursed once per form, so a long chain of nested forms overflowed the stack. The recursion is now bounded at 64 levels; deeper forms are still counted as X Object Forms through the iterative walk. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(ui): line up the Space Audit columns and say what it shows The percentages were drawn at the dialog's far edge, away from their header and outside the striped rows: egui gives a grid's last column the rest of the window, and the right-to-left layout used to right-align the numbers filled all of it. Every cell is now laid out first and given exactly its column's width; numeric columns and their headers are right-aligned, and the description column takes the rest, so the stripes span the dialog. A caption under the title says the table is what takes up the file's space now (not what optimizing would save), translated in every catalogue. The parity notes no longer call the space audit missing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refresh catalog hashes after merging main --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>