fix(quality): 'Fix alle problemen' vergroot de font niet bij lengte-overloop; splits ook te-klein-renderende dia's #1159

Closed
opened 2026-08-03 12:23:58 +00:00 by brenno · 2 comments
Owner

Wat er misgaat

De kwaliteitsbewaking splitst een te volle dia over meerdere pagina's zodat de tekst groter rendert. Maar de 'Fix alle problemen'-motor (quality_autofix.dart) en de live-fix bij presenteren (safeFixForSlide) splitsen alleen wanneer een dia méér bullets heeft dan de leesbaarheidsdrempel (visibleContentBulletCount(slide) > _splitThreshold(slide), drempel 8 enkelkoloms / 12 checklist).

Dichtheids-overloop komt echter vaak door de lengte van de bullets, niet door hun aantal. Een dia met 6–8 lange bullets rendert te klein (textDensityWarning, schaal < 0,70) maar heeft ≤ drempel bullets, dus de autofix doet niets en de font blijft klein.

Gemeten (headless, referentiebreedte 960pt, Roboto)

dia orig. schaal autofix nu na splitsen
16 korte bullets 0,597 (te klein) splitst → x1,80
6 zeer lange bullets 0,694 (te klein) 0 fixes → x1,00 [3,3] → 0,978 (x1,41)
8 zeer lange bullets 0,672 (te klein) 0 fixes → x1,00 [4,4] → 0,913 (x1,36)

De handmatige 'Splits slide'-knop in het kwaliteitspaneel (canSplitSlide, geen aantal-drempel) splitst wél en vergroot de font. Alleen de autofix-route weigert.

Verwacht

Wanneer een dia te klein rendert (dichtheidsmelding) en genoeg bullets heeft voor twee volwaardige pagina's, moet 'Fix alle problemen' hem splitsen zodat de font wél groter wordt — ook als het bulletaantal onder de drempel ligt.

Reikwijdte

  • lib/services/quality_autofix.dart — split-gate in _applyNextFix (stap 2) en safeFixForSlide (stap 2): dichtheidsmelding + genoeg bullets voor twee pagina's (≥ 2×kMinPageBullets) laat splitsen toe, ook bij ≤ drempel bullets. Paginatie zelf (bullet_pagination.dart) blijft ongemoeid (bewust voorspelbaar, aantal-gebaseerd).
  • Regressietests in test/quality_autofix_test.dart.

Tweede deel: herbeoordeling na reparatie

Naast deze fix verdient het een visuele herbeoordeling (beeldkeurder) van hoe dia's er ná auto-reparatie uitzien, met eventuele verdere verbeteringen.

## Wat er misgaat De kwaliteitsbewaking splitst een te volle dia over meerdere pagina's zodat de tekst groter rendert. Maar de **'Fix alle problemen'-motor** (`quality_autofix.dart`) en de **live-fix bij presenteren** (`safeFixForSlide`) splitsen alleen wanneer een dia méér bullets heeft dan de leesbaarheidsdrempel (`visibleContentBulletCount(slide) > _splitThreshold(slide)`, drempel 8 enkelkoloms / 12 checklist). Dichtheids-overloop komt echter vaak door de **lengte** van de bullets, niet door hun aantal. Een dia met 6–8 lange bullets rendert te klein (`textDensityWarning`, schaal < 0,70) maar heeft ≤ drempel bullets, dus de autofix doet **niets** en de font blijft klein. ## Gemeten (headless, referentiebreedte 960pt, Roboto) | dia | orig. schaal | autofix nu | na splitsen | |---|---|---|---| | 16 korte bullets | 0,597 (te klein) | splitst → x1,80 | ✅ | | 6 zeer lange bullets | 0,694 (te klein) | **0 fixes → x1,00** | [3,3] → 0,978 (x1,41) | | 8 zeer lange bullets | 0,672 (te klein) | **0 fixes → x1,00** | [4,4] → 0,913 (x1,36) | De handmatige 'Splits slide'-knop in het kwaliteitspaneel (`canSplitSlide`, geen aantal-drempel) splitst wél en vergroot de font. Alleen de autofix-route weigert. ## Verwacht Wanneer een dia te klein rendert (dichtheidsmelding) en genoeg bullets heeft voor twee volwaardige pagina's, moet 'Fix alle problemen' hem splitsen zodat de font wél groter wordt — ook als het bulletaantal onder de drempel ligt. ## Reikwijdte - `lib/services/quality_autofix.dart` — split-gate in `_applyNextFix` (stap 2) en `safeFixForSlide` (stap 2): dichtheidsmelding + genoeg bullets voor twee pagina's (≥ 2×`kMinPageBullets`) laat splitsen toe, ook bij ≤ drempel bullets. Paginatie zelf (`bullet_pagination.dart`) blijft ongemoeid (bewust voorspelbaar, aantal-gebaseerd). - Regressietests in `test/quality_autofix_test.dart`. ## Tweede deel: herbeoordeling na reparatie Naast deze fix verdient het een visuele herbeoordeling (beeldkeurder) van hoe dia's er ná auto-reparatie uitzien, met eventuele verdere verbeteringen.
Author
Owner

Opgepakt. Tak: fix/autofix-split-density-1159. Reikwijdte: lib/services/quality_autofix.dart, lib/utils/bullet_fixes.dart (helper), test/quality_autofix_test.dart. Daarna beeldkeuring van het resultaat.

Opgepakt. Tak: fix/autofix-split-density-1159. Reikwijdte: lib/services/quality_autofix.dart, lib/utils/bullet_fixes.dart (helper), test/quality_autofix_test.dart. Daarna beeldkeuring van het resultaat.
Author
Owner

Opgelost op main in ea84da0b (fix) + 262b1e5e (docs), gemerged via PR #1165 (merge d5b120cf). 'Fix alle problemen' en de live-fix bij presenteren splitsen nu ook een dia die te klein rendert door lange bullets (dichtheidsmelding + genoeg bullets voor twee pagina's), zodat de font wordt vergroot. Gemeten: 6 lange bullets 0,69->0,98 (x1,41), 8 lange bullets 0,67->0,91 (x1,36). Regressietests in test/quality_autofix_test.dart; make check + geheimen/SAST groen; visueel bevestigd over strook/presentatie/PDF. De bredere herbeoordeling na reparatie (vervolgtitels, dode split-knop, 70%-klif) staat als vervolg in #1164 — niet in deze release-cyclus meegesleept.

Opgelost op main in ea84da0b (fix) + 262b1e5e (docs), gemerged via PR #1165 (merge d5b120cf). 'Fix alle problemen' en de live-fix bij presenteren splitsen nu ook een dia die te klein rendert door lange bullets (dichtheidsmelding + genoeg bullets voor twee pagina's), zodat de font wordt vergroot. Gemeten: 6 lange bullets 0,69->0,98 (x1,41), 8 lange bullets 0,67->0,91 (x1,36). Regressietests in test/quality_autofix_test.dart; make check + geheimen/SAST groen; visueel bevestigd over strook/presentatie/PDF. De bredere herbeoordeling na reparatie (vervolgtitels, dode split-knop, 70%-klif) staat als vervolg in #1164 — niet in deze release-cyclus meegesleept.
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#1159
No description provided.