linkedin-studio/render
Kjell Tore Guttormsen c4434ed789 feat(linkedin-studio): N2 — build-figur renderer (SVG/HTML->PNG, 3 mål, token-seam) [skip-docs]
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
2026-07-16 20:26:19 +02:00
..
__tests__ feat(linkedin-studio): N2 — build-figur renderer (SVG/HTML->PNG, 3 mål, token-seam) [skip-docs] 2026-07-16 20:26:19 +02:00
fonts feat(linkedin): migrate render scripts + fonts into plugin (S1) 2026-05-26 22:11:38 +02:00
build-carousel.mjs feat(linkedin-studio): parameterize series path + de-brand render output [skip-docs] 2026-05-30 00:46:05 +02:00
build-figur.mjs feat(linkedin-studio): N2 — build-figur renderer (SVG/HTML->PNG, 3 mål, token-seam) [skip-docs] 2026-07-16 20:26:19 +02:00
build-html.mjs fix(linkedin): close dogfood friction (S14) 2026-05-27 23:37:39 +02:00
build-linkedin.mjs feat(linkedin-studio): parameterize series path + de-brand render output [skip-docs] 2026-05-30 00:46:05 +02:00
build-pdf.mjs feat(linkedin): migrate render scripts + fonts into plugin (S1) 2026-05-26 22:11:38 +02:00
OFL.txt feat(linkedin): migrate render scripts + fonts into plugin (S1) 2026-05-26 22:11:38 +02:00