Tabellen delen het document-rekenblad (#2051–#2056) #2057

Merged
brenno merged 7 commits from feature/table-spreadsheet-ux into main 2026-09-11 07:39:28 +00:00
Owner

Summary

  • Tabellen in document (Visual én Bron), slide-tabel, grafiekdataraster en procesverbetering-matrix delen het ter-plekke-rekenblad: Tab/Shift+Tab, Enter = volgende rij, Shift+Enter = regeleinde, pijlen, Cmd/Ctrl+C als TSV, Cmd/Ctrl+V én Shift+Insert plakken een spreadsheet.
  • Invoegen van tabel of tijdlijn zet een leeg GFM-blok op de cursor, zonder voorzet-dialoog.
  • Bestandsformaat ongewijzigd (GFM + bestaande slide-directives). Geen nieuw token, geen nieuwe dependency, geen egress.
  • Presenteren, form-editors over tabelopslag en de tijdlijn-slide blijven buiten scope.

Closes #2051, #2052, #2053, #2054, #2055, #2056.

Bewaker (pr-landen 2c)

Raakt een publieke belofte (USER_GUIDE/SHORTCUTS: ter plekke bewerken, toetsen) — níet het formaat, de opslag, een afhankelijkheid of uitgaand verkeer.

Afweging: de belofte beschrijft gedrag dat Visual al had; Bron/slide/grafiek/matrix sluiten daarop aan. Het .md blijft een gewone GFM-tabel. Soevereiniteit en uitwisselbaarheid gaan voor: geen OciDeck-specifiek rasterformaat. Van gedachten veranderen als iemand een nieuw token of sidecar nodig zou hebben om de tabel te bewaren — dat is hier niet gebeurd.

Test plan

  • make coverage + make coverage-per-file (86,9 %, 0 bestanden onder de vloer)
  • Statische poorten behalve toolchain (format, analyze, conventions, methodelengte, dode code, hardcoded text, commentaartaal, l10n-parity, registrations, dated-claims, templates, mermaid, translate-docs)
  • make check-secrets (gitleaks + trufflehog, 0 hits)
  • make sast (semgrep semgrep/ocideck.yaml, 0 findings)
  • make check lokaal stopt op check-toolchain: deze machine heeft Flutter 3.47.1, de pin is 3.47.2. Poort niet verruimd. Merge-gate is static-gate in CI.
  • Darwin make test-golden: table/gantt/matrix-goldens groen; ~27 andere slides vallen op 0,00 % / enkele pixels (openkat, ociserve-gegevensinzage, bullets, type_menu, …). Geen goldens bijgewerkt — dat is toolchain-/renderer-ruis, geen tabelwijziging.
  • ZAP/DAST niet gedraaid (zap-cli/zap.sh ontbreken; webbundel is CanvasKit).

Widgettests dekken: invoegen zonder dialoog, Bron ter plekke + alignment + twee-tabellen-ordinaal (#1662), lockHeader-plak, Tab groeit grafiekrij, laatste matrix-datarij via toolbar.

## Summary - Tabellen in document (Visual én Bron), slide-tabel, grafiekdataraster en procesverbetering-matrix delen het ter-plekke-rekenblad: Tab/Shift+Tab, Enter = volgende rij, Shift+Enter = regeleinde, pijlen, Cmd/Ctrl+C als TSV, Cmd/Ctrl+V én Shift+Insert plakken een spreadsheet. - Invoegen van tabel of tijdlijn zet een leeg GFM-blok op de cursor, zonder voorzet-dialoog. - Bestandsformaat ongewijzigd (GFM + bestaande slide-directives). Geen nieuw token, geen nieuwe dependency, geen egress. - Presenteren, form-editors over tabelopslag en de tijdlijn-*slide* blijven buiten scope. Closes #2051, #2052, #2053, #2054, #2055, #2056. ## Bewaker (pr-landen 2c) Raakt een **publieke belofte** (USER_GUIDE/SHORTCUTS: ter plekke bewerken, toetsen) — níet het formaat, de opslag, een afhankelijkheid of uitgaand verkeer. Afweging: de belofte beschrijft gedrag dat Visual al had; Bron/slide/grafiek/matrix sluiten daarop aan. Het `.md` blijft een gewone GFM-tabel. Soevereiniteit en uitwisselbaarheid gaan voor: geen OciDeck-specifiek rasterformaat. Van gedachten veranderen als iemand een nieuw token of sidecar nodig zou hebben om de tabel te bewaren — dat is hier niet gebeurd. ## Test plan - [x] `make coverage` + `make coverage-per-file` (86,9 %, 0 bestanden onder de vloer) - [x] Statische poorten behalve toolchain (format, analyze, conventions, methodelengte, dode code, hardcoded text, commentaartaal, l10n-parity, registrations, dated-claims, templates, mermaid, translate-docs) - [x] `make check-secrets` (gitleaks + trufflehog, 0 hits) - [x] `make sast` (semgrep `semgrep/ocideck.yaml`, 0 findings) - [ ] `make check` lokaal stopt op `check-toolchain`: deze machine heeft Flutter **3.47.1**, de pin is **3.47.2**. Poort niet verruimd. Merge-gate is `static-gate` in CI. - [ ] Darwin `make test-golden`: table/gantt/matrix-goldens groen; ~27 andere slides vallen op **0,00 % / enkele pixels** (openkat, ociserve-gegevensinzage, bullets, type_menu, …). Geen goldens bijgewerkt — dat is toolchain-/renderer-ruis, geen tabelwijziging. - [ ] ZAP/DAST niet gedraaid (`zap-cli`/`zap.sh` ontbreken; webbundel is CanvasKit). Widgettests dekken: invoegen zonder dialoog, Bron ter plekke + alignment + twee-tabellen-ordinaal (#1662), lockHeader-plak, Tab groeit grafiekrij, laatste matrix-datarij via toolbar.
De tabeleditor was een rij Material-velden met Enter-als-regeleinde,
terwijl een document al in de gerenderde tabel laat typen. Die twee
rasters delen nu TableEditController, zodat Tab/Enter/pijlen en de
huisstijl overal hetzelfde zijn. Closes-deel van #2052.

Co-authored-by: Cursor <cursoragent@cursor.com>
Matrix-sjablonen en GFM-koppen zijn een contract: plakken mag ze niet
overschrijven en het raster niet verbreden. TableEditor sorteert via
de scaffold, zodat Enter/Tab overal hetzelfde blijven.

Co-authored-by: Cursor <cursoragent@cursor.com>
Een leeg GFM-blok op de cursor is genoeg; de gebruiker vult ter plekke
in in plaats van eerst een voorzet-dialoog af te ronden. Deel van #2053.

Co-authored-by: Cursor <cursoragent@cursor.com>
De preview was alleen-lezen met een potlooddialoog; nu is het dezelfde
TableEditScaffold als Visual, per tabel-ordinaal. Deel van #2054.

Co-authored-by: Cursor <cursoragent@cursor.com>
De editor was een eigen raster; nu TableEditScaffold met vaste kop,
vaste kolommen en de RPN-kolom ernaast. Deel van #2056.

Co-authored-by: Cursor <cursoragent@cursor.com>
Het grafiekgrid was een formulier; toetsen en celranden sluiten nu aan
op het document-rekenblad zonder GFM te worden. Deel van #2055.

Co-authored-by: Cursor <cursoragent@cursor.com>
docs(table): rekenbladtoetsen en invoegen zonder dialoog
All checks were successful
scans / scans (pull_request) Successful in 3m6s
static-gate / static-gate (pull_request) Successful in 6m11s
9feb33085c
USER_GUIDE, SHORTCUTS en SOURCE_MAP volgen de ter-plekke-tabel;
wees-l10n van de oude tabeleditor is weg. Deel van #2051.

Co-authored-by: Cursor <cursoragent@cursor.com>
brenno merged commit 3eb3444ffc into main 2026-09-11 07:39:28 +00:00
brenno deleted branch feature/table-spreadsheet-ux 2026-09-11 07:39:29 +00:00
Sign in to join this conversation.
No description provided.