Donkere logo-variant + L-vormige hoek-reserve (#1931, #1932) #1937

Merged
brenno merged 2 commits from fix/logo-dark-variant-and-corner-reserve into main 2026-09-03 07:30:55 +00:00
Owner

Samenvatting

Twee logo-issues in één PR:

#1931: Donkere logo-variant op donkere dia-achtergronden

  • ThemeProfile.logoDarkPath voor een eigen donkere logo-variant.
  • effectiveSlideLogoPath() kiest automatisch de donkere variant op donkere dia-achtergronden: gebundelde merk-logo's via BrandLogo.effectiveAssetKey, eigen logo's via logoDarkPath.
  • Selectie ingevoerd in slide-preview, HTML-export en rasterizer.
  • Stijlprofiel-export/import neemt het donkere logo mee als ingesloten base64; pakket-export voegt het toe als asset.
  • Presentatie-instellingen krijgen een kiezer voor het donkere logo.
  • Deckbrede kwaliteitswaarschuwing wijst op een ontbrekende donkere variant op een donkere achtergrond.
  • FILE_FORMAT.md documenteert het nieuwe veld.

#1932: L-vormige hoek-reserve i.p.v. volle-breedte strook

  • logoSafeReserve krijgt een corner-parameter: panel-slides (cockpit, chart, table, ...) krijgen reserve 0 — het logo zit bovenop de inhoud in de hoek.
  • Text-slides krijgen een gereduceerde reserve (size*edgeInset + gap i.p.v. size*(1+edgeInset) + gap), zodat de tekst stopt boven de logo-onderkant i.p.v. boven de logo-bovenkant.
  • Dat wint ~logoSize px hoogte terug op text-slides, en panel-slides houden hun volle hoogte.

Bewaker

Deze wijziging raakt het bestandsformaat (nieuw veld logoDarkPath in het stijlprofiel). Het veld is optioneel en achterwaarts compatibel: een profiel zonder logoDarkPath gedraagt zich als voorheen. De toevoeging vergroot de soevereiniteit van de gebruiker (eigen donkere logo i.p.v. vastlopen op een donkere achtergrond) en de uitwisselbaarheid (het veld reist mee in het stijlprofiel). Geen botsing met de kernwaarden.

Testplan

  • make check groen (11.129 tests, 87.1% dekking)
  • make check-secrets groen (gitleaks + trufflehog)
  • make sast groen (semgrep, 0 findings)
  • themeLogoDarkIssueFor tests dekken de waarschuwingslogica
  • rich_text_layout_test dekt de nieuwe reserve-berekening
  • marp_html_presentation_logo_test dekt de HTML-export met donkere achtergrond
  • code_preview_test dekt panel-slide met corner-reserve
  • finding_pagination_test dekt finding met corner-reserve
  • l10n: 4 nieuwe strings in alle 31 talen

Generated with Devin

## Samenvatting Twee logo-issues in één PR: ### #1931: Donkere logo-variant op donkere dia-achtergronden - `ThemeProfile.logoDarkPath` voor een eigen donkere logo-variant. - `effectiveSlideLogoPath()` kiest automatisch de donkere variant op donkere dia-achtergronden: gebundelde merk-logo's via `BrandLogo.effectiveAssetKey`, eigen logo's via `logoDarkPath`. - Selectie ingevoerd in slide-preview, HTML-export en rasterizer. - Stijlprofiel-export/import neemt het donkere logo mee als ingesloten base64; pakket-export voegt het toe als asset. - Presentatie-instellingen krijgen een kiezer voor het donkere logo. - Deckbrede kwaliteitswaarschuwing wijst op een ontbrekende donkere variant op een donkere achtergrond. - `FILE_FORMAT.md` documenteert het nieuwe veld. ### #1932: L-vormige hoek-reserve i.p.v. volle-breedte strook - `logoSafeReserve` krijgt een `corner`-parameter: panel-slides (cockpit, chart, table, ...) krijgen reserve 0 — het logo zit bovenop de inhoud in de hoek. - Text-slides krijgen een gereduceerde reserve (`size*edgeInset + gap` i.p.v. `size*(1+edgeInset) + gap`), zodat de tekst stopt boven de logo-onderkant i.p.v. boven de logo-bovenkant. - Dat wint ~logoSize px hoogte terug op text-slides, en panel-slides houden hun volle hoogte. ### Bewaker Deze wijziging raakt het bestandsformaat (nieuw veld `logoDarkPath` in het stijlprofiel). Het veld is optioneel en achterwaarts compatibel: een profiel zonder `logoDarkPath` gedraagt zich als voorheen. De toevoeging vergroot de soevereiniteit van de gebruiker (eigen donkere logo i.p.v. vastlopen op een donkere achtergrond) en de uitwisselbaarheid (het veld reist mee in het stijlprofiel). Geen botsing met de kernwaarden. #### Testplan - [x] `make check` groen (11.129 tests, 87.1% dekking) - [x] `make check-secrets` groen (gitleaks + trufflehog) - [x] `make sast` groen (semgrep, 0 findings) - [x] `themeLogoDarkIssueFor` tests dekken de waarschuwingslogica - [x] `rich_text_layout_test` dekt de nieuwe reserve-berekening - [x] `marp_html_presentation_logo_test` dekt de HTML-export met donkere achtergrond - [x] `code_preview_test` dekt panel-slide met corner-reserve - [x] `finding_pagination_test` dekt finding met corner-reserve - [x] l10n: 4 nieuwe strings in alle 31 talen Generated with [Devin](https://devin.ai)
ThemeProfile krijgt een logoDarkPath-veld voor een eigen donkere
logo-variant. effectiveSlideLogoPath() kiest automatisch de donkere
variant op donkere dia-achtergronden: gebundelde merk-logo's via
BrandLogo.effectiveAssetKey, eigen logo's via logoDarkPath. De selectie
is ingevoerd in de slide-preview, de HTML-export en de rasterizer.

De stijlprofiel-export/import neemt het donkere logo mee als ingesloten
base64, en het pakket-export voegt het toe als asset. De
presentatie-instellingen krijgen een kiezer voor het donkere logo, en
een deckbrede kwaliteitswaarschuwing wijst op een ontbrekende donkere
variant op een donkere achtergrond.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
fix(logo): L-vormige hoek-reserve i.p.v. volle-breedte strook (#1932)
All checks were successful
scans / scans (pull_request) Successful in 2m5s
static-gate / static-gate (pull_request) Successful in 5m34s
d09f3648c2
logoSafeReserve krijgt een corner-parameter: panel-slides (cockpit,
chart, table, ...) krijgen reserve 0 — het logo zit bovenop de inhoud
in de hoek. Text-slides krijgen een gereduceerde reserve (size*edgeInset
+ gap i.p.v. size*(1+edgeInset) + gap), zodat de tekst stopt boven de
logo-onderkant i.p.v. boven de logo-bovenkant. Dat wint ~logoSize px
hoogte terug op text-slides, en panel-slides houden hun volle hoogte.

Tests bijgewerkt voor de nieuwe maten en de corner-modus.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
brenno merged commit f0e2e88015 into main 2026-09-03 07:30:55 +00:00
Sign in to join this conversation.
No description provided.