caterium-app/docs/proposals-six-20260918.md

18 lines
2.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Six client proposal templates · 18 September 2026
The client sees six choices: Светлая классика, Редакционный, Вечерний, Тёплый приём, Гастро, Приглашение. Local Manrope and Playfair fonts, measured full Cyrillic text and a single renderer are shared by preview and PDF download.
All 21 previous identifiers remain readable. `CateriumProposalPDF.resolveTemplate` maps retired designs to the closest curated layout at display time. Orders and snapshots are not bulk-rewritten. The default is `light`; document branding remains scoped to the current company.
PNG uploads preserve alpha and color, trim transparent margins and retain a small transparent margin. Existing snapshot logos receive the same treatment during rendering. Logos have proportional dimensions up to 280 × 76 canvas units, with no thumbnail tile. If the predominant logo color would disappear against the page, the full masthead receives a contrasting background. Company names wrap separately from logos.
The second visual review corrected orphaned totals, oversized gaps below editorial headings, excessive card page breaks and uneven row distribution. Story panels, editorial columns, dark circular thumbnails, bento cards and ticket-style alternating rows give the interiors different structures. Long descriptions flow across pages without truncation. Normal price breakdowns and the grand total stay together.
Reproduce the visual audit from the repository root:
1. Serve `public` with `npx http-server public -p 4182 -c-1`.
2. Run `node ops/pdf/audit-curated.mjs final` in another terminal. This uses isolated, fictional fixtures, blocks external requests and writes six real PDFs to the sibling `caterium-six-proposals-20260918/output/pdf` directory. It also updates the six brand-neutral selection thumbnails.
3. Run `ops/pdf/render-curated.py final` using the bundled Python runtime. Poppler renders every PDF page. The script writes page images, contact sheets, a six-cover overview and a text-bound/collision report under that sibling directory.
Browser regression coverage includes all six choices, legacy IDs, 18 combinations of wide/tall/white logos and light/dark templates, complete long descriptions, grouped totals, optional content, local fonts, cancelled image requests and identical preview/download A4 pages. PDF text remains rasterized by the existing PDF engine; selectable/searchable PDF text is outside this release.