Files
alla-allaos-fullstack/docs/implementation/task-p.4.5.1-visual-regression-report.md
phaichayon bdc2d9f1b4 task-p4.5.1
2026-06-29 20:57:03 +07:00

66 lines
2.4 KiB
Markdown

# 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](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/fixtures/pdf-visual/README.md)
- automated visual-regression audit script at [scripts/audit-pdf-visual-regression.ts](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/scripts/audit-pdf-visual-regression.ts)
- manual QA checklist at [docs/implementation/task-p.4.5.1-visual-qa-checklist.md](/C:/Users/mtpphtaps/Documents/gitea/alla-allaos-fullstack/docs/implementation/task-p.4.5.1-visual-qa-checklist.md)
## Generated fixture set
Baselines are organized by reusable scenario:
- `quotation-empty`
- `quotation-single-item`
- `quotation-standard`
- `quotation-20-items`
- `quotation-100-items`
- `quotation-long-description`
- `quotation-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_table` seven-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.json`
- `artifacts/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