fix(present): laat een mermaid-diagram uitzoomen tot het hele diagram past (#944) #946

Merged
brenno merged 1 commit from fix/mermaid-zoom-out into main 2026-07-28 02:29:07 +00:00
Owner

Verhelpt #944 (vervolg op #930).

De zoom kon niet ver genoeg uitzoomen: je kon inzoomen maar niet uitzoomen om het hele diagram te zien. Twee dingen hielden het tegen — mermaidViewMatrix klemde de zoomfactor op ≥ 1, en InteractiveViewer klemt met boundaryMargin: EdgeInsets.zero de min-zoom stil terug op "diagram vult nog het venster". Beide losgelaten; de grenzen bewaakt de widget nu zelf (mermaidClampView).

De ondergrens is nu de passend-in-het-venster-factor (mermaidFitScale, < 1 voor een overlopend diagram): knijpen en de min-knop zoomen uit tot het hele diagram past, en de passend-knop springt daar in één klik naartoe. Maat-onafhankelijk, dus spiegelt mee naar de beamer.

Test. De toets meet nu de gerénderde maat (getRect), niet slechts de opgeslagen zoom — dát was het gat waardoor de vorige poging groen was terwijl de app niet uitzoomde. make check groen.

Draagt ook een dart format-normalisatie van test/native_git_mirror_test.dart mee: die stond ongeformatteerd op main (een gelijktijdige merge), waardoor de format-poort er anders op zou vallen.

Verhelpt #944 (vervolg op #930). De zoom kon niet ver genoeg uitzoomen: je kon inzoomen maar niet uitzoomen om het hele diagram te zien. Twee dingen hielden het tegen — `mermaidViewMatrix` klemde de zoomfactor op ≥ 1, en `InteractiveViewer` klemt met `boundaryMargin: EdgeInsets.zero` de min-zoom stil terug op "diagram vult nog het venster". Beide losgelaten; de grenzen bewaakt de widget nu zelf (`mermaidClampView`). De ondergrens is nu de passend-in-het-venster-factor (`mermaidFitScale`, < 1 voor een overlopend diagram): knijpen en de min-knop zoomen uit tot het hele diagram past, en de passend-knop springt daar in één klik naartoe. Maat-onafhankelijk, dus spiegelt mee naar de beamer. **Test.** De toets meet nu de *gerénderde* maat (`getRect`), niet slechts de opgeslagen zoom — dát was het gat waardoor de vorige poging groen was terwijl de app niet uitzoomde. `make check` groen. Draagt ook een `dart format`-normalisatie van `test/native_git_mirror_test.dart` mee: die stond ongeformatteerd op main (een gelijktijdige merge), waardoor de format-poort er anders op zou vallen.
fix(present): laat een mermaid-diagram uitzoomen tot het hele diagram past (#944)
All checks were successful
scans / scans (pull_request) Successful in 3m21s
1f72e239e4
De zoom (#930) kon niet ver genoeg uitzoomen — de ondergrens hield het op
zoomfactor 1 (leesbare volle breedte), terwijl een hoge flowchart daar nog
groter is dan het venster. Je kon dus wel inzoomen maar niet uitzoomen om het
hele diagram in één oogopslag te zien, en juist dát was de bedoeling.

Twee dingen hielden het tegen: `mermaidViewMatrix` klemde de zoomfactor op ≥ 1,
en `InteractiveViewer` klemt met `boundaryMargin: EdgeInsets.zero` de minimale
zoom stil terug op "diagram vult nog het venster". Beide zijn losgelaten: de
matrix laat < 1 toe, en de boundaryMargin staat op onbegrensd terwijl de widget
de grenzen nu zelf bewaakt (`mermaidClampView`, en de knop-/passend-zoom).

De ondergrens is nu de passend-in-het-venster-factor (`mermaidFitScale`, < 1
voor een overlopend diagram): knijpen en de min-knop zoomen uit tot het hele
diagram past, en de passend-knop (focus-icoon) springt daar in één klik naartoe.
De maat is maat-onafhankelijk en spiegelt dus mee naar de beamer.

Tests meten nu de gerénderde maat, niet slechts de opgeslagen zoom — dát was het
gat waardoor de vorige poging groen was maar de app niet uitzoomde.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno force-pushed fix/mermaid-zoom-out from 1f72e239e4
All checks were successful
scans / scans (pull_request) Successful in 3m21s
to 1ea8c46a46
All checks were successful
scans / scans (pull_request) Successful in 3m31s
2026-07-28 02:25:31 +00:00
Compare
brenno merged commit 482f421158 into main 2026-07-28 02:29:07 +00:00
brenno deleted branch fix/mermaid-zoom-out 2026-07-28 02:29:07 +00:00
Sign in to join this conversation.
No description provided.