fix(present): startknop presenteert vanaf de dia waar je stond (#846) #848

Merged
brenno merged 1 commit from fix/846-present-from-focused-slide into main 2026-07-25 08:56:12 +00:00
Owner

Lost #846 op: de presentatie-startknop begint weer bij de dia waar de gebruiker stond, niet altijd bij dia 1.

Waarom

Sinds #607 gebruikte de gewone afspeelknop bewust fromStart: true om te voorkomen dat wie midden in een deck werkte met de zaal middenin viel. In de praktijk schaadt die bescherming juist de verwachting: wie op dia 12 zit en op afspelen drukt, wil dáár beginnen. #846 draait de #607-keuze terug. De knop volgt weer de zichtbare selectie.

Wat er verandert

  • _presentDeck (de toolbar-knop, het menu en het commandopalet komen er alle drie op uit) gebruikt niet langer fromStart: true.
  • Staat de selectie op een overgeslagen of TLP-achtergehouden dia, dan schuift de start door naar de eerstvolgende dia die de zaal wél mag zien (bestaande visible.indexWhere-logica).
  • Ongewijzigd: "Presenteer vanaf hier" in het diamenu (voor wie een andere dia wil zonder ernaartoe te navigeren) en het "alleen afspelen"-scherm, dat nog steeds bij dia 1 begint — daar is geen editor met een selectie.

Test

De bestaande regressietest legde het #607-gedrag vast ("vanaf dia 1"); die legt nu het #846-gedrag vast ("vanaf de selectie", initialIndex == 2). Getoetst dat hij rood wordt tegen de onherstelde code (Expected 2, Actual 0) en groen met de fix. De overgeslagen-dia-test documenteert nu dat een selectie op een overgeslagen dia doorschuift naar de eerstvolgende zichtbare.

Poorten

  • make check: groen (analyse, format, conventies, method-length, dead-code, hardgecodeerde tekst, volle suite, coverage-vloer).
  • make check-secrets: groen (gitleaks: no leaks; trufflehog: 0 secrets).
  • make sast: groen (semgrep, 0 findings).
  • DAST (ZAP): niet gedraaid — niet ingericht in deze omgeving (geen ZAP/docker). Deze wijziging raakt geen geserveerd oppervlak of uitgaand verkeer.

Bewaker

Bewust overgeslagen: deze wijziging raakt het bestandsformaat, de opslag, afhankelijkheden noch uitgaand verkeer, en zet de gebruiker nergens vast. Het is een omkering van een UX-standaard die de producteigenaar zelf via #846 heeft gevraagd. De USER_GUIDE §Presenting is meegewijzigd zodat de documentatie het gedrag blijft dekken.

Sluit #846.

Lost #846 op: de presentatie-startknop begint weer bij de dia waar de gebruiker stond, niet altijd bij dia 1. ## Waarom Sinds #607 gebruikte de gewone afspeelknop bewust `fromStart: true` om te voorkomen dat wie midden in een deck werkte met de zaal middenin viel. In de praktijk schaadt die bescherming juist de verwachting: wie op dia 12 zit en op afspelen drukt, wil dáár beginnen. #846 draait de #607-keuze terug. De knop volgt weer de zichtbare selectie. ## Wat er verandert - `_presentDeck` (de toolbar-knop, het menu en het commandopalet komen er alle drie op uit) gebruikt niet langer `fromStart: true`. - Staat de selectie op een overgeslagen of TLP-achtergehouden dia, dan schuift de start door naar de eerstvolgende dia die de zaal wél mag zien (bestaande `visible.indexWhere`-logica). - **Ongewijzigd:** "Presenteer vanaf hier" in het diamenu (voor wie een andere dia wil zonder ernaartoe te navigeren) en het "alleen afspelen"-scherm, dat nog steeds bij dia 1 begint — daar is geen editor met een selectie. ## Test De bestaande regressietest legde het #607-gedrag vast ("vanaf dia 1"); die legt nu het #846-gedrag vast ("vanaf de selectie", `initialIndex == 2`). Getoetst dat hij **rood** wordt tegen de onherstelde code (Expected 2, Actual 0) en groen met de fix. De overgeslagen-dia-test documenteert nu dat een selectie op een overgeslagen dia doorschuift naar de eerstvolgende zichtbare. ## Poorten - `make check`: **groen** (analyse, format, conventies, method-length, dead-code, hardgecodeerde tekst, volle suite, coverage-vloer). - `make check-secrets`: **groen** (gitleaks: no leaks; trufflehog: 0 secrets). - `make sast`: **groen** (semgrep, 0 findings). - **DAST (ZAP): niet gedraaid** — niet ingericht in deze omgeving (geen ZAP/docker). Deze wijziging raakt geen geserveerd oppervlak of uitgaand verkeer. ## Bewaker Bewust overgeslagen: deze wijziging raakt het bestandsformaat, de opslag, afhankelijkheden noch uitgaand verkeer, en zet de gebruiker nergens vast. Het is een omkering van een UX-standaard die de producteigenaar zelf via #846 heeft gevraagd. De USER_GUIDE §Presenting is meegewijzigd zodat de documentatie het gedrag blijft dekken. Sluit #846.
fix(present): startknop presenteert vanaf de dia waar je stond (#846)
All checks were successful
scans / scans (pull_request) Successful in 3m17s
67815f7791
De gewone afspeelknop begon sinds #607 bewust bij dia 1. Dat bleek de
verwachting juist te schaden: wie op dia 12 werkt en op afspelen drukt,
wil daar beginnen — niet teruggeworpen worden naar het begin. #846 draait
die keuze terug; de knop volgt weer de zichtbare selectie.

Staat de selectie op een overgeslagen of achtergehouden dia, dan schuift
de start door naar de eerstvolgende dia die de zaal wél mag zien. "Presenteer
vanaf hier" in het diamenu en het "alleen afspelen"-scherm (dat bij dia 1
begint) blijven ongewijzigd.

De regressietest die "vanaf dia 1" vastlegde, legt nu "vanaf de selectie"
vast; getoetst dat hij rood wordt op de oude code. USER_GUIDE §Presenting
en de doc-commentaren bijgewerkt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit c7fa004038 into main 2026-07-25 08:56:12 +00:00
Sign in to join this conversation.
No description provided.