Mermaid in Pagina's-weergave snijdt af met schuifbalk, terwijl PDF wel schaalt #1921

Closed
opened 2026-09-02 13:26:00 +00:00 by brenno · 2 comments
Owner

Probleem

Er is een inconsistentie tussen scherm en PDF voor brede Mermaid-diagrammen.

DocMermaidView tekent op ware grootte en scrolt zijwaarts als het diagram breder is dan de kolom. Dat is ontworpen voor de documentatielezer (zo staat het ook in USER_GUIDE.md) en werkt daar goed. Maar in de Pagina's-weergave met een A4-tekstkolom van 642 px betekent het een afgesneden diagram met schuifbalk, terwijl de PDF-export hetzelfde diagram wél schaalt (BoxFit.contain in document_pdf_widgets.dart).

De lezer heeft horizontaal scrollen nodig (geen paginering), maar de gepagineerde weergave hoort het diagram te schalen naar de kolombreedte, net als de PDF.

Oplossingsrichting

Een FittedBox in DocMermaidView zodra natural.width > constraints.maxWidth, in elk geval in de gepagineerde weergave. Dit maakt scherm (Pagina's) en PDF gelijk.

De horizontale-scroll-modus blijft behouden voor de gewone lezer; de schaal-modus geldt alleen voor de gepagineerde weergave.

Referenties

  • lib/widgets/reader/doc_mermaid_view.dart regel 176-190: de huidige overflow→scroll-logica
  • lib/services/pdf/document_pdf_widgets.dart regel 632: BoxFit.contain in PDF
  • USER_GUIDE.md: de belofte van horizontaal scrollen in de lezer
## Probleem Er is een inconsistentie tussen scherm en PDF voor brede Mermaid-diagrammen. `DocMermaidView` tekent op ware grootte en scrolt zijwaarts als het diagram breder is dan de kolom. Dat is ontworpen voor de documentatielezer (zo staat het ook in `USER_GUIDE.md`) en werkt daar goed. Maar in de Pagina's-weergave met een A4-tekstkolom van 642 px betekent het een afgesneden diagram met schuifbalk, terwijl de PDF-export hetzelfde diagram wél schaalt (`BoxFit.contain` in `document_pdf_widgets.dart`). De lezer heeft horizontaal scrollen nodig (geen paginering), maar de gepagineerde weergave hoort het diagram te schalen naar de kolombreedte, net als de PDF. ## Oplossingsrichting Een `FittedBox` in `DocMermaidView` zodra `natural.width > constraints.maxWidth`, in elk geval in de gepagineerde weergave. Dit maakt scherm (Pagina's) en PDF gelijk. De horizontale-scroll-modus blijft behouden voor de gewone lezer; de schaal-modus geldt alleen voor de gepagineerde weergave. ## Referenties - `lib/widgets/reader/doc_mermaid_view.dart` regel 176-190: de huidige overflow→scroll-logica - `lib/services/pdf/document_pdf_widgets.dart` regel 632: `BoxFit.contain` in PDF - `USER_GUIDE.md`: de belofte van horizontaal scrollen in de lezer
Author
Owner

Opgepakt (sessie hervat na een crash). Tak: fix/mermaid-dark-theme-and-scaling, PR #1924. Reikwijdte: lib/widgets/reader/doc_mermaid_view.dart, document_markdown_view.dart, paged_document_view.dart.

Opgepakt (sessie hervat na een crash). Tak: fix/mermaid-dark-theme-and-scaling, PR #1924. Reikwijdte: lib/widgets/reader/doc_mermaid_view.dart, document_markdown_view.dart, paged_document_view.dart.
Author
Owner

Opgelost en op main geverifieerd: merge-commit 5f113a229 (PR #1924), reparatie in a9731614c. DocMermaidView kreeg een scaleToFit-vlag; PagedDocumentView zet hem aan, zodat een diagram breder dan de tekstkolom afschaalt in plaats van af te snijden — dezelfde korrel als BoxFit.contain in de PDF.

Wat er NIET in zit: de gewone documentatielezer houdt bewust zijn horizontale schuif. Daar is geen vaste bladbreedte om tegenaan te lopen, en USER_GUIDE.md belooft dat gedrag.

Opgelost en op main geverifieerd: merge-commit 5f113a229 (PR #1924), reparatie in a9731614c. DocMermaidView kreeg een scaleToFit-vlag; PagedDocumentView zet hem aan, zodat een diagram breder dan de tekstkolom afschaalt in plaats van af te snijden — dezelfde korrel als BoxFit.contain in de PDF. Wat er NIET in zit: de gewone documentatielezer houdt bewust zijn horizontale schuif. Daar is geen vaste bladbreedte om tegenaan te lopen, en USER_GUIDE.md belooft dat gedrag.
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#1921
No description provided.