Logo-vrije zone reserveert de volle breedte, terwijl het logo in een hoek staat #1932

Closed
opened 2026-09-03 04:46:13 +00:00 by brenno · 0 comments
Owner

Een stijlprofiel met een logo reserveert een strook over de volle breedte van
de dia, terwijl het logo altijd in één hoek staat. Bij het LibreKAT-profiel op
1920×1080 is dat ongeveer 190 px onderaan: over de hele breedte leeg, met alleen
linksonder een logo van 144 px.

Gemeten tijdens de beeldkeuring van het cockpit-herontwerp (#1929): het
instrumentenpaneel houdt op bij 83 % van de hoogte, daaronder ligt een lege band
waar bij zes meters best een grotere wijzerplaat had gepast.

Hoe het nu werkt

logoSafeReserve (lib/services/rich_text_layout.dart:407) rekent de verticale
ruimte uit die het logo opeist:

size = w * (logoSize / 1280)
reserve = size * (1 + randinzet) + w * 0,014

logoSafeReserveEdges levert dat als (boven, onder) — één van beide is nul,
want een logo staat op één rand. Elke preview giet die waarde in zijn
buitenmarge, dus de reserve loopt van links naar rechts.

Bij LibreKAT (logoSize 96, positie bottom-left) op 1920 px breed:
size = 144, reserve = 144 × 1,12 + 26,9 ≈ 188 px.

Waarom dat zo gebouwd is

Eén getal is eenvoudig, en voor lopende tekst is het ook juist: een alinea die
over de volle breedte loopt, botst met het logo zodra hij tot onderaan komt. De
prijs betaalt de dia die géén lopende tekst is — een cockpitpaneel, een grafiek,
een tabel — want die verliest een strook waar het logo niet eens staat.

Denkrichting (niet uitgewerkt)

De reserve zou een hoek kunnen zijn in plaats van een strook: alleen de
kolom waarin het logo staat houdt ruimte vrij, de rest van de breedte loopt
door. Voor lopende tekst is dat lastiger (regels lopen door die kolom heen), voor
een raster of een paneel is het eenvoudig: schuif alleen die ene cel of laat de
inhoud tot 0,96·hoogte lopen behalve in de logokolom.

Denk vooraf na over: de bestaande tests die de huidige maat pinnen
(rich_text_layout_test.dart, free_markdown_logo_clearance_test.dart,
marp_html_presentation_logo_test.dart), de pariteit met de HTML-export (die
dezelfde strook reserveert via logoSafeReserve), en de vraag of de winst per
slidetype verschilt — misschien is dit alleen de moeite waard voor de types die
hun eigen vlak indelen.

Raakvlakken

rich_text_layout.dart (de enige plek waar de regel staat), alle previews die
_logoSafeInsets gebruiken, preview_scaffold.dart, en de HTML-export.

Een stijlprofiel met een logo reserveert een strook over de **volle breedte** van de dia, terwijl het logo altijd in één hoek staat. Bij het LibreKAT-profiel op 1920×1080 is dat ongeveer 190 px onderaan: over de hele breedte leeg, met alleen linksonder een logo van 144 px. Gemeten tijdens de beeldkeuring van het cockpit-herontwerp (#1929): het instrumentenpaneel houdt op bij 83 % van de hoogte, daaronder ligt een lege band waar bij zes meters best een grotere wijzerplaat had gepast. ## Hoe het nu werkt `logoSafeReserve` (`lib/services/rich_text_layout.dart:407`) rekent de verticale ruimte uit die het logo opeist: size = w * (logoSize / 1280) reserve = size * (1 + randinzet) + w * 0,014 `logoSafeReserveEdges` levert dat als `(boven, onder)` — één van beide is nul, want een logo staat op één rand. Elke preview giet die waarde in zijn buitenmarge, dus de reserve loopt van links naar rechts. Bij LibreKAT (logoSize 96, positie bottom-left) op 1920 px breed: size = 144, reserve = 144 × 1,12 + 26,9 ≈ 188 px. ## Waarom dat zo gebouwd is Eén getal is eenvoudig, en voor lopende tekst is het ook juist: een alinea die over de volle breedte loopt, botst met het logo zodra hij tot onderaan komt. De prijs betaalt de dia die géén lopende tekst is — een cockpitpaneel, een grafiek, een tabel — want die verliest een strook waar het logo niet eens staat. ## Denkrichting (niet uitgewerkt) De reserve zou een **hoek** kunnen zijn in plaats van een strook: alleen de kolom waarin het logo staat houdt ruimte vrij, de rest van de breedte loopt door. Voor lopende tekst is dat lastiger (regels lopen door die kolom heen), voor een raster of een paneel is het eenvoudig: schuif alleen die ene cel of laat de inhoud tot 0,96·hoogte lopen behalve in de logokolom. Denk vooraf na over: de bestaande tests die de huidige maat pinnen (`rich_text_layout_test.dart`, `free_markdown_logo_clearance_test.dart`, `marp_html_presentation_logo_test.dart`), de pariteit met de HTML-export (die dezelfde strook reserveert via `logoSafeReserve`), en de vraag of de winst per slidetype verschilt — misschien is dit alleen de moeite waard voor de types die hun eigen vlak indelen. ## Raakvlakken `rich_text_layout.dart` (de enige plek waar de regel staat), alle previews die `_logoSafeInsets` gebruiken, `preview_scaffold.dart`, en de HTML-export.
brenno 2026-09-03 07:31:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1932
No description provided.