TDD (33 nye tester, render-suite 20->53/0 = ny floor, 4 ekte e2e-renders): - render/build-figur.mjs: SVG/HTML -> PNG via headless Chrome; tre mål (article 1200xauto, carousel 1080x1350, single 1200x1200), overstyrbare via --width/--height; CLI + importerbar modul. - Token-seam: design-tokens leses fra LINKEDIN_STUDIO_DATA/profile/brand-tokens.json (brukerdata), nøytrale defaults i modulen — merkevare aldri hardkodet i repoet. Injiseres som CSS-variabler (--figur-*). - Warn-validering (aldri hard fail): min 24pt tekst, fargebudsjett (maks 2 ikke-nøytrale farger). - Robust Chrome-oppdagelse: app-bundle-stier -> PATH -> install-hint (prober injiserbare for test). - macOS-quirk (verifisert lokalt, Chrome 150): headless skriver PNG-en men avslutter aldri -> stderr-watchdog («written to file») + kill + verifisering av output. Søk-først utført (kjent headless-ustabilitet på macOS). - Fixture: nøytral demo-SVG (placeholder-søylediagram) under render/__tests__/fixtures/. Alle seks suiter grønne: test-runner 138/0, trends 245/0, brain 134/0, hooks 140/0, tests 35/0, render 53/0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: 26f26c3d-be91-47c4-bbdf-4694ba063b67
20 lines
1.4 KiB
XML
20 lines
1.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 675" role="img" aria-label="Demo: soylediagram med placeholder-data">
|
|
<!-- Noytral demo-figur (placeholder-data) for build-figur-testene.
|
|
Bruker token-CSS-variabler med noytrale fallbacks. -->
|
|
<rect width="1200" height="675" fill="var(--figur-background, #FFFFFF)"/>
|
|
<text x="80" y="90" font-family="var(--figur-fontFamily, sans-serif)" font-size="40" font-weight="700" fill="var(--figur-ink, #1A1A1A)">Kvartalsvis utvikling (demo)</text>
|
|
<text x="80" y="135" font-family="var(--figur-fontFamily, sans-serif)" font-size="26" fill="var(--figur-muted, #5B5B5B)">Placeholder-data — ikke reelle tall</text>
|
|
<g>
|
|
<rect x="120" y="380" width="140" height="180" fill="var(--figur-accent, #2F6F9F)"/>
|
|
<rect x="360" y="320" width="140" height="240" fill="var(--figur-accent, #2F6F9F)"/>
|
|
<rect x="600" y="250" width="140" height="310" fill="var(--figur-accent, #2F6F9F)"/>
|
|
<rect x="840" y="180" width="140" height="380" fill="var(--figur-accent, #2F6F9F)"/>
|
|
</g>
|
|
<line x1="80" y1="560" x2="1120" y2="560" stroke="var(--figur-rule, #D9D9D9)" stroke-width="2"/>
|
|
<g font-family="var(--figur-fontFamily, sans-serif)" font-size="26" fill="var(--figur-muted, #5B5B5B)">
|
|
<text x="160" y="605">Q1</text>
|
|
<text x="400" y="605">Q2</text>
|
|
<text x="640" y="605">Q3</text>
|
|
<text x="880" y="605">Q4</text>
|
|
</g>
|
|
</svg>
|