Skip to content

Implement bounded ordered print-interior PDF generation (#416) - #432

Merged
szmyty merged 1 commit into
mainfrom
feat/renderflow-416-print-interior-pdf
Sep 28, 2026
Merged

szmyty merged 1 commit into
mainfrom
feat/renderflow-416-print-interior-pdf

Conversation

@szmyty

@szmyty szmyty commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add the exact publication.generate.pdf.interior route from an immutable, ordered PNG or JPEG collection to one print-interior PDF. Require explicit uniform trim/bleed geometry, a pinned and observed img2pdf 0.6.3 provider, direct bounded argv, and a required interior target.
  • Preflight source image bytes and color/geometry constraints; recheck source identity before execution. Independently inspect the produced PDF's page count, ordered embedded image-stream hashes, full-page placement, media/bleed/trim boxes, rotation, color space, and output digest before materialization. Persist ordered source lineage and typed provider/inspection failure evidence.
  • Keep cancellation, timeout, nonzero exit, missing/stale/invalid output, and unsupported inputs from publishing a PDF. Document the exact capability, schemas, catalogs, and roadmap handoff.

Local validation

  • cargo test --workspace --locked --quiet with real img2pdf 0.6.3: 1,210 passed, 11 ignored, 0 failed. Synthetic route tests include PNG and JPEG clean-build determinism, a 44-page recipe, source/refusal cases, provider failures, and in-flight cancellation.
  • cargo clippy --workspace --all-targets --locked -- -D warnings
  • cargo fmt --all --check
  • Runtime renderflow spec schema matches the checked-in JSON Schema; strict MkDocs build passed.
  • Public CLI build --dry-run and build produced one validated PDF from synthetic pages.
  • Published Git tree 6b080da6c2dee3c46ac504334f3fa034366ee2a6 matches the locally validated tree exactly.

No real publication pages were processed. Print/retailer acceptance and calibrated color reproduction are outside this bounded route.

Closes #416

@szmyty
szmyty merged commit b566e81 into main Sep 28, 2026
17 of 18 checks passed
@szmyty
szmyty deleted the feat/renderflow-416-print-interior-pdf branch September 28, 2026 01:41
@devactivity-app

Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Achievements

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.

[Publication] Generate deterministic print-interior PDFs from ordered page collections

1 participant