From 27645df005bb4f0d90b52f989b5b3f05e04dd495 Mon Sep 17 00:00:00 2001 From: george-keygraph Date: Wed, 7 Oct 2026 18:15:36 -0700 Subject: [PATCH] fix(report): pin the cover title spacing to the design Paragraph spacing scaled with the 46pt title and pushed it and the target about 1.5cm lower than the design. The title now sits in a zero-spacing block, so the gaps are exactly the v() values (4.3cm above, 1.35cm below). Verified with Typst 0.14.2 and built-in fonts only: the cover matches the reference within about 0.05cm, a long target URL wraps at a slash, the optional Application field and partial status render, and the full report compiles with no warnings. Co-Authored-By: Claude Opus 5.5 --- apps/worker/templates/typst/report.typ | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/apps/worker/templates/typst/report.typ b/apps/worker/templates/typst/report.typ index 361d34d8..cd130a85 100644 --- a/apps/worker/templates/typst/report.typ +++ b/apps/worker/templates/typst/report.typ @@ -239,16 +239,14 @@ #v(0.5cm) #line(length: 100%, stroke: 0.3pt + rule) - #v(3.6cm) - #set par(leading: 0.4em) - #text(size: 46pt, weight: "bold", fill: ink)[ - Security\ - Assessment\ - Report - ] - #set par(leading: 0.7em) - - #v(0.9cm) + // The title sits in a zero-spacing block so the gaps around it are exactly + // the v() values (paragraph spacing would otherwise scale with the 46pt text). + #v(4.3cm) + #block(spacing: 0pt, { + set par(leading: 0.4em) + text(size: 46pt, weight: "bold", fill: ink)[Security\ Assessment\ Report] + }) + #v(1.35cm) #cover-field("Target", text(size: 12pt, fill: ink)[#data.meta.target]) #if "application" in data.meta and data.meta.application != none [ #v(0.5cm)