feat(present): zoom en verschuif een groot mermaid-diagram, gespiegeld naar de beamer (#930) #940

Merged
brenno merged 1 commit from fix/930-mermaid-zoom into main 2026-07-28 00:37:39 +00:00
Owner

Verhelpt #930 (de derde bevinding uit de proefpresentatie; #931/#932 zijn al gemerged in #935).

Een detailrijke flowchart kon je tijdens het presenteren wel doorbladeren maar niet uitvergroten. Het grote-diagram-venster is nu een InteractiveViewer: knijpen (trackpad), scrollwiel (muis) en drie toegankelijke knoppen (in, uit, passend). Trackpad-scrollen blijft verschuiven (trackpadScrollCausesScale:false), dus het bestaande scrollgedrag blijft.

De scroll-spiegeling naar de beamer (#872) is verbreed naar de volledige kijkstand via een MermaidViewController met een maat-onafhankelijke stand (zoomfactor + kind-fractie linksboven), zodat beide schermen naar hetzelfde punt wijzen. Presentator stuurt; beamer (interactive:false) spiegelt mee.

Tests. Pure rekenkern (stand <-> matrix, zoom-rond-midden met klemming), controller-klemming, de knoppen, en de spiegeling (de beamer-diagram verdubbelt zijn breedte bij zoom 2). test/mermaid_diagram_test is meegetrokken van scroll naar zoom met behoud van de leesbare maatvoering (#868/#872/#895).

Handmatig geverifieerd op de echte macOS-app: de knoppen renderen, inzoomen vergroot, passend reset, en slepen verschuift het diagram (zonder de dia te verspringen).

make check groen (86,7% dekking). USER_GUIDE bijgewerkt.

Verhelpt #930 (de derde bevinding uit de proefpresentatie; #931/#932 zijn al gemerged in #935). Een detailrijke flowchart kon je tijdens het presenteren wel doorbladeren maar niet uitvergroten. Het grote-diagram-venster is nu een `InteractiveViewer`: knijpen (trackpad), scrollwiel (muis) en drie toegankelijke knoppen (in, uit, passend). Trackpad-scrollen blijft verschuiven (`trackpadScrollCausesScale:false`), dus het bestaande scrollgedrag blijft. De scroll-spiegeling naar de beamer (#872) is verbreed naar de volledige kijkstand via een `MermaidViewController` met een maat-onafhankelijke stand (zoomfactor + kind-fractie linksboven), zodat beide schermen naar hetzelfde punt wijzen. Presentator stuurt; beamer (interactive:false) spiegelt mee. **Tests.** Pure rekenkern (stand <-> matrix, zoom-rond-midden met klemming), controller-klemming, de knoppen, en de spiegeling (de beamer-diagram verdubbelt zijn breedte bij zoom 2). `test/mermaid_diagram_test` is meegetrokken van scroll naar zoom met behoud van de leesbare maatvoering (#868/#872/#895). **Handmatig geverifieerd** op de echte macOS-app: de knoppen renderen, inzoomen vergroot, passend reset, en slepen verschuift het diagram (zonder de dia te verspringen). `make check` groen (86,7% dekking). USER_GUIDE bijgewerkt.
feat(present): zoom en verschuif een groot mermaid-diagram, gespiegeld naar de beamer (#930)
All checks were successful
scans / scans (pull_request) Successful in 3m22s
437159b418
Een detailrijke flowchart (zoals de kat-beslisboom) kon je tijdens het
presenteren wel doorbladeren maar niet uitvergroten. Het grote-diagram-venster
is nu een InteractiveViewer: knijpen op de trackpad, scrollen met de muis, en
drie toegankelijke knoppen (in, uit, passend) zodat zoomen ook zonder gebaar
lukt.

De scroll-spiegeling naar het publieksvenster (#872) is verbreed naar de
volledige kijkstand. Dat gaat over een `MermaidViewController` met een
maat-onafhankelijke stand — zoomfactor plus de kind-fractie linksboven — zodat
het presentatiescherm en de beamer, met hun andere pixelmaat, naar hetzelfde
punt wijzen. De presentator stuurt gebaren/knoppen; de beamer (interactive:
false) spiegelt alleen mee.

De rekenkern (stand <-> InteractiveViewer-matrix, en de zoom-rond-het-midden met
klemming) is puur en apart getoetst. `test/mermaid_zoom_test.dart` toetst de
knoppen, de controller-klemming en de spiegeling; `test/mermaid_diagram_test`
is meegetrokken van scroll- naar zoomgedrag met behoud van de leesbare
maatvoering (#868/#872/#895). Alleen de presentatie is interactief; thumbnails,
de editor-preview en de export tonen het diagram onveranderd passend.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 40d7687457 into main 2026-07-28 00:37:39 +00:00
brenno deleted branch fix/930-mermaid-zoom 2026-07-28 00:37:39 +00:00
Sign in to join this conversation.
No description provided.