2.4 KiB
2.4 KiB
Task P.4.5.1 Visual Regression Report
Scope
This task establishes reusable visual regression baselines for Product Item quotation templates without changing quotation runtime architecture.
Implemented outputs:
- baseline fixture generation under fixtures/pdf-visual/README.md
- automated visual-regression audit script at scripts/audit-pdf-visual-regression.ts
- manual QA checklist at docs/implementation/task-p.4.5.1-visual-qa-checklist.md
Generated fixture set
Baselines are organized by reusable scenario:
quotation-emptyquotation-single-itemquotation-standardquotation-20-itemsquotation-100-itemsquotation-long-descriptionquotation-multi-topic
Each scenario stores ALLA and ONVALLA golden PDFs plus manifest metadata.
Automated validation coverage
The visual regression script validates:
- PDF generation success
- page count stability
- section order stability
- Product Item page presence through runtime structure
items_tableseven-column contract- signature block remaining on the last rendered page
- runtime issue severity
- 500-item generation performance smoke check
Current run report is written to:
artifacts/pdf-visual/visual-regression-report.jsonartifacts/pdf-visual/visual-regression-report.md
Screenshot strategy
This environment does not currently provide a PDF-to-image renderer such as pdftoppm, Ghostscript, or ImageMagick, and sharp cannot rasterize the generated PDFs here.
Because of that:
- golden PDF baselines are generated now
- current-run PDFs are generated now
- manifest-based regression comparison is automated now
- pixel screenshot comparison is documented but not automated in this environment
If a renderer is added later, the current fixture layout can be extended without changing the dataset contract.
Acceptance mapping
- visual fixtures created = PASS
- golden PDF baselines created = PASS
- future regression comparison path created = PASS
- automated layout validation added where practical = PASS
- screenshot automation documented with environment limitation = PASS
- manual visual sign-off still required for true pixel review = PENDING