Ocideck/lib/services
Brenno de Winter d1862935ab Add per-slide TLP classification with sharing-level filtering
Each slide can now carry its own Traffic Light Protocol level. When the
presentation is shared at a given TLP level, slides classified stricter
than that level are withheld, so the same deck can be shown safely to
audiences with different clearances.

- Slide.tlp field with markdown round-trip via a <!-- tlp: <key> --> marker
  (also on code slides).
- Editor: a per-slide "TLP van deze slide" dropdown.
- Central rule slideVisibleAtTlp() compares levels on the TLP severity
  order (none < CLEAR < GREEN < AMBER < AMBER+STRICT < RED).
- Filtering lives in _slidesForPresentationOrExport, the single source of
  slides for presenting (single-window and dual-screen) and for every
  export (PDF, PPTX, HTML), so all paths honour it.
- Translations for the new strings in all supported languages, plus tests
  for the round-trip and the visibility rule.

flutter analyze is clean and all tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 22:34:42 +02:00
..
caption_service.dart Initial commit: OciDeck Marp presentation builder 2026-06-02 23:28:39 +02:00
description_service.dart Initial commit: OciDeck Marp presentation builder 2026-06-02 23:28:39 +02:00
export_service.dart feat: add multilingual interface 2026-06-04 02:30:03 +02:00
file_service.dart feat: add multilingual interface 2026-06-04 02:30:03 +02:00
image_service.dart feat: add multilingual interface 2026-06-04 02:30:03 +02:00
markdown_service.dart Add per-slide TLP classification with sharing-level filtering 2026-06-06 22:34:42 +02:00
marp_html_service.dart feat: add multilingual interface 2026-06-04 02:30:03 +02:00
recovery_service.dart Initial commit: OciDeck Marp presentation builder 2026-06-02 23:28:39 +02:00
slide_rasterizer.dart feat: polish app icons and presentation exports 2026-06-05 00:02:51 +02:00