Skip to content

Fix finalized PDF gradient previews and prepare 2.5.5 - #30

Merged
krflol merged 1 commit into
masterfrom
fix/finalized-gradient-preview
Oct 2, 2026
Merged

krflol merged 1 commit into
masterfrom
fix/finalized-gradient-preview

Conversation

@krflol

@krflol krflol commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Finalized PDF previews left gradient chart bars blank because the reader ignored the PDF shading operator. This change renders supported axial/radial shadings through the native renderer, preserving transforms, clipping, hard color stops, and gradient alpha/luminosity masks. Forms keep their own paths and graphics state and honor their bounding boxes.

Prepares version 2.5.5 with synchronized metadata and agent artifacts generated from the installed final wheel. No core dependency or public command schema is added.

Validation:

  • 1,305 Rust tests, 493 Python tests, 86 CSS fixtures, and all three deterministic golden cases pass.
  • The installed wheel passes 20 gradient preview cases at 72/144 DPI, with repeat PNG equality and unchanged input PDFs. CI and release workflows retain the PDFs, previews, probes, and hashes.
  • An independent PyMuPDF 1.26.5 comparison passes the interior probes for those 20 cases and six additional PDF geometry cases. The original three-page report was rendered and visually inspected; all four previously missing chart bars are present.
  • The same regression gate fails on public 2.5.4 with white gradient output. All ten authoring fixture PDFs remain byte-for-byte equal to public 2.5.4 output.
  • Final-wheel agent contract, installed-package smoke, release metadata, clean worktree, license integrity, CSS status, Skill validation, and Skill publishing dry run pass.

The release runbook documents the supported gradient subset and remaining limitations. Unsupported calculator/mesh programs, nonextended radial shadings, and nonidentity mask transfer functions return errors. These fixture checks do not claim general PDF renderer parity or standards conformance.

Fixes #28.

@krflol
krflol marked this pull request as ready for review October 2, 2026 11:58
@krflol
krflol merged commit 40f4a55 into master Oct 2, 2026
12 checks passed

This branch was successfully deployed

1 active deployment
pypi — 45da0f95 Deployed Oct 2, 2026 by krflol via Publish PyPI distributions #39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Finalized PDF preview omits linear-gradient fills present in the PDF

1 participant