From 9ac5426fbeaaaebf0752508562284c1ead157a1a Mon Sep 17 00:00:00 2001 From: Riley Hilliard Date: Tue, 12 May 2026 13:04:42 -0500 Subject: [PATCH] fix: align brand watermark top-edge with source text using hanging baseline Switches from alphabetic baseline (bottom-aligned, needed manual font-size offset) to hanging baseline (top-aligned, matches chromeY directly). This removes the extra vertical space that was inflating the footer height when both source and watermark were present. --- packages/vanilla/src/renderers/brand.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vanilla/src/renderers/brand.ts b/packages/vanilla/src/renderers/brand.ts index efe0df7..48da443 100644 --- a/packages/vanilla/src/renderers/brand.ts +++ b/packages/vanilla/src/renderers/brand.ts @@ -46,13 +46,13 @@ export function renderBrand(parent: SVGElement, layout: ChartLayout): void { // "try" in normal weight, "OpenData" in semibold, ".ai" in normal weight, // rendered as a single right-aligned text element with three tspans. - // Use alphabetic baseline so mixed-size tspans share a common bottom line. + // Use hanging baseline to align top-edge with source/byline chrome text. const BRAND_LARGE = 16; const text = createSVGElement('text'); setAttrs(text, { x: rightEdge, - y: chromeY + BRAND_LARGE, - 'dominant-baseline': 'alphabetic', + y: chromeY, + 'dominant-baseline': 'hanging', 'font-family': layout.theme.fonts.family, 'font-size': BRAND_FONT_SIZE, 'text-anchor': 'end',