Skip to content

Implement bounded deterministic fixed-layout EPUB generation (#417) - #435

Merged
szmyty merged 1 commit into
mainfrom
feat/renderflow-417-fixed-layout-epub
Sep 28, 2026
Merged

szmyty merged 1 commit into
mainfrom
feat/renderflow-417-fixed-layout-epub

Conversation

@szmyty

@szmyty szmyty commented Sep 28, 2026

Copy link
Copy Markdown
Contributor

Closes #417. Parent #414; builds on #415.

Implementation

  • Adds the exact native ebook.generate.epub.fixed-layout route for a homogeneous, explicitly ordered local PNG or JPEG collection. Planning requires frozen IDs, digests, page geometry, a first-member cover, reviewed per-page descriptions, publication metadata, and explicit page/input/output byte bounds.
  • Writes byte-identical EPUB packages from clean builds: stored first mimetype, fixed member order and timestamps, EPUB 3 OPF/XHTML, fixed viewports, spine, cover image, navigation, page list, LTR/RTL progression, and declared accessibility metadata. Original image bytes and sources remain unchanged.
  • Rechecks source structure, dimensions, digest, and package bounds while writing; imports only complete output. Typed refusal and cancellation evidence covers unsupported media, unsafe/malformed SVG refusal, stale sources, missing metadata, and output limits.
  • Updates the tool catalog, v2 schema/reference, CLI coverage, and user/roadmap docs. Pandoc's reflow route and fixed-layout KEPUB claims remain separate. Broad ebook capabilities advertisement and independent EPUB 3.3 conformance stay with [Checkpoint 414.3] Validate fixed-layout EPUB and publish capability truth #418.

Local validation

  • cargo test --workspace --locked --offline --quiet passed (1,218 tests; 12 existing ignored). The final additive focused cases then passed: fixed_layout_epub 10/10 and fixed_layout_epub_cli 1/1.
  • cargo clippy --workspace --all-targets --locked --offline -- -D warnings passed.
  • cargo fmt --all --check, schema/reference regeneration, git diff --check, and strict MkDocs build passed.
  • Synthetic artwork only; no real media, network publication, retailer submission, or hosted CI run was invoked.

The Git Data published tree was fetched back and matches the validated local tree d6acf84b2aaccf926dc1c3e0e8e3a10ac1562575.

@szmyty
szmyty merged commit eaf3b98 into main Sep 28, 2026
19 of 20 checks passed
@devactivity-app

Copy link
Copy Markdown

Pull Request Summary by devActivity

Metrics

Cycle Time: 1h 35m Coding Time: < 1 min

Achievements

@szmyty
szmyty deleted the feat/renderflow-417-fixed-layout-epub branch September 28, 2026 05:34
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.

[Checkpoint 414.2] Generate deterministic EPUB 3.3 fixed-layout packages

1 participant