task-p4.5.1

This commit is contained in:
phaichayon
2026-06-29 20:57:03 +07:00
parent a1cac84e2b
commit bdc2d9f1b4
67 changed files with 3464 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
# Task P.4.5.1 Visual QA Checklist
## Automated checks
- PDF generation succeeds for every fixture
- baseline manifest exists for every fixture
- page count matches stored baseline
- rendered section order matches stored baseline
- signature block remains on the last page
- `items_table` row shape remains seven columns
- runtime produces no error-severity issues
- 500-item performance fixture generates without crash
## Manual checks
- company block alignment
- customer block alignment
- quotation code and quotation date alignment
- product table header repetition on multi-page item fixtures
- table borders remain continuous across page breaks
- long-description rows do not clip text
- Thai and English mixed text remain readable
- signature block spacing remains intact
- topic spacing and numbering remain consistent
- footer copy remains aligned
## Review scope
- `ALLA`
- `ONVALLA`
- empty state
- single item
- standard 4-item case
- 20-item pagination case
- 100-item heavy pagination case
- long-description wrapping case
- multi-topic continuation case

View File

@@ -0,0 +1,65 @@
# 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