Summary
DOCX/PPTX conversion should emit structured fidelity warnings when unsupported or lossy constructs are encountered.
Problem
Current warning output is sparse and inconsistent, making it difficult to understand why output differs from source documents when conversion technically succeeds.
Proposal
- Define warning taxonomy.
- category (e.g., unsupported_feature, fallback_render, style_loss)
- severity (info/warn/high)
- scope (document/page/element)
- Emit warnings from parser and renderer consistently.
- include optional location metadata where available
- avoid leaking private content in warning text
- Improve CLI reporting.
- total warning count
- grouped summary by category and severity
- optional verbose mode for per-warning detail
- Add regression tests.
- parser-level warning emission tests
- end-to-end tests ensuring warnings appear for known unsupported constructs
Code Areas
crates/office2pdf/src/error.rs or dedicated warning module
crates/office2pdf/src/parser/docx.rs
crates/office2pdf/src/parser/pptx.rs
crates/office2pdf/src/render/typst_gen.rs
crates/office2pdf-cli/src/main.rs
Acceptance Criteria
- Warnings are structured and programmatically inspectable.
- CLI summary reflects warning category/severity counts.
- At least one DOCX and one PPTX regression path validates warning behavior.
Non-Goals
- This issue does not attempt to implement every missing feature; it improves observability first.
Summary
DOCX/PPTX conversion should emit structured fidelity warnings when unsupported or lossy constructs are encountered.
Problem
Current warning output is sparse and inconsistent, making it difficult to understand why output differs from source documents when conversion technically succeeds.
Proposal
Code Areas
crates/office2pdf/src/error.rsor dedicated warning modulecrates/office2pdf/src/parser/docx.rscrates/office2pdf/src/parser/pptx.rscrates/office2pdf/src/render/typst_gen.rscrates/office2pdf-cli/src/main.rsAcceptance Criteria
Non-Goals