feat(gantt): gantt-diatype — preview, editor en l10n #1246

Merged
brenno merged 4 commits from feat/gantt-slidetype into main 2026-08-04 23:00:52 +00:00
Owner

Summary

Landt het SlideType.gantt-slidetype (issue #1238): een projectschema als Gantt-diagram, opgeslagen als gewone Markdown-tabel, gerenderd via Mermaid.

  • Converter (lib/services/improvement/gantt_dsl.dart): pure-Dart tabel→Mermaid gantt-DSL — id-toewijzing, datum/duur/voortgang, milestones (Milestone:-prefix), FS-afhankelijkheden (after <id>), sectiekoppen (##), auto-as-formaat. De DSL is afgeleid, nooit opgeslagen.
  • Model: SlideType.gantt (backedByTable, Procesverbetering) + ganttScale/ganttSections velden met round-trip via ocideck_gantt_scale: en ocideck_gantt_sections: comments.
  • Editor: hergebruikt de generieke TableEditor met vijf-koloms header-seed (Taak/Start/Duur/Voortgang/Afhankelijk van).
  • Preview: _GanttPreview leidt DSL af en rendert via de bestaande MermaidDiagram-widget.
  • Instellingen: tijdschaal-dropdown (auto/dag/week/maand) + sectiedelingen-toggle.
  • 31 vertalingen voor alle nieuwe l10n-strings.
  • Docs: API_DOCUMENTATION, GLOSSARY, FILE_FORMAT, SOURCE_MAP bijgewerkt.

Bewaker

Deze wijziging raakt het bestandsformaat (nieuw _class token gantt, twee nieuwe comment-directives). De keuze voor tabel-opslag boven DSL-opslag is expliciet: de tabel degradeert leesbaar in plain Marp, de DSL niet. De DSL is afgeleid, nooit de bron van waarheid — consistent met flow's roll-up strip. Geen nieuwe afhankelijkheid (Mermaid is al aanwezig), geen uitgaand verkeer, geen publieke belofte die soevereiniteit of uitwisselbaarheid raakt.

Test plan

  • make check groen (8443 tests, alle poorten: format, analyze, conventions, method-length, dead-code, hardcoded-text, coverage)
  • gantt_dsl_test.dart — 18 unit tests voor de converter
  • slide_type_meta_test.dart — gantt in backedByTable, editor builder, icoon
  • app_localizations_test.dart — alle 31 talen gedekt
  • docs_enum_counts_test.dart — SlideType-count en naam-dekking
  • source_map_coverage_test.dart — gantt_dsl.dart en gantt_preview.dart gedekt
  • Beeldkeuring: visueel controleren van een gantt-dia in de preview en presenteren

Generated with Devin

## Summary Landt het `SlideType.gantt`-slidetype (issue #1238): een projectschema als Gantt-diagram, opgeslagen als gewone Markdown-tabel, gerenderd via Mermaid. - **Converter** (`lib/services/improvement/gantt_dsl.dart`): pure-Dart tabel→Mermaid gantt-DSL — id-toewijzing, datum/duur/voortgang, milestones (`Milestone:`-prefix), FS-afhankelijkheden (`after <id>`), sectiekoppen (`##`), auto-as-formaat. De DSL is afgeleid, nooit opgeslagen. - **Model**: `SlideType.gantt` (backedByTable, Procesverbetering) + `ganttScale`/`ganttSections` velden met round-trip via `ocideck_gantt_scale:` en `ocideck_gantt_sections:` comments. - **Editor**: hergebruikt de generieke `TableEditor` met vijf-koloms header-seed (Taak/Start/Duur/Voortgang/Afhankelijk van). - **Preview**: `_GanttPreview` leidt DSL af en rendert via de bestaande `MermaidDiagram`-widget. - **Instellingen**: tijdschaal-dropdown (auto/dag/week/maand) + sectiedelingen-toggle. - **31 vertalingen** voor alle nieuwe l10n-strings. - **Docs**: API_DOCUMENTATION, GLOSSARY, FILE_FORMAT, SOURCE_MAP bijgewerkt. ## Bewaker Deze wijziging raakt het bestandsformaat (nieuw `_class` token `gantt`, twee nieuwe comment-directives). De keuze voor tabel-opslag boven DSL-opslag is expliciet: de tabel degradeert leesbaar in plain Marp, de DSL niet. De DSL is afgeleid, nooit de bron van waarheid — consistent met flow's roll-up strip. Geen nieuwe afhankelijkheid (Mermaid is al aanwezig), geen uitgaand verkeer, geen publieke belofte die soevereiniteit of uitwisselbaarheid raakt. #### Test plan - [x] `make check` groen (8443 tests, alle poorten: format, analyze, conventions, method-length, dead-code, hardcoded-text, coverage) - [x] `gantt_dsl_test.dart` — 18 unit tests voor de converter - [x] `slide_type_meta_test.dart` — gantt in backedByTable, editor builder, icoon - [x] `app_localizations_test.dart` — alle 31 talen gedekt - [x] `docs_enum_counts_test.dart` — SlideType-count en naam-dekking - [x] `source_map_coverage_test.dart` — gantt_dsl.dart en gantt_preview.dart gedekt - [ ] Beeldkeuring: visueel controleren van een gantt-dia in de preview en presenteren Generated with [Devin](https://devin.ai)
brenno force-pushed feat/gantt-slidetype from bb8488104c
Some checks failed
static-gate / static-gate (pull_request) Failing after 1m56s
scans / scans (pull_request) Successful in 2m29s
to 21f27f0457
All checks were successful
scans / scans (pull_request) Successful in 1m31s
static-gate / static-gate (pull_request) Successful in 3m28s
2026-08-04 22:55:56 +00:00
Compare
brenno merged commit ae1042d8e5 into main 2026-08-04 23:00:52 +00:00
Sign in to join this conversation.
No description provided.