Slide quality analysis, Mermaid rendering, and export quality gating #11

Merged
brenno merged 2 commits from feat/slide-quality-mermaid-export into main 2026-06-20 09:00:48 +00:00
Owner

Summary

This PR adds continuous slide quality analysis while editing, Mermaid diagram rendering in previews and exports, and export quality gating — plus presenter and preview improvements that landed on the same branch.

Slide quality

  • Live analyser (SlideQualityAnalyzer) checks contrast (body, title, table, code, accent, footer, checklist, section), alt text / media descriptions, missing image/video files on disk, and text density (bullets, tables, code, markdown, title, quote).
  • Quality bar below the preview with severity filters; thumbnail badges and inline editor hints.
  • Click an issue to jump to the slide field or open Settings → Colours with the matching theme colour highlighted.
  • Export dialog: soft warning (Warn on export) and optional hard block (Block export on serious quality issues). Policy strings are fully localised.

Mermaid

  • New MermaidRenderService and MermaidDiagram widget; diagrams render in slide preview, presenter, and raster/PDF/PPTX/HTML export paths.

Other

  • Presenter / dual-screen and table preview refinements.
  • Platform feature flags for web vs desktop; documentation updates (USER_GUIDE, CHANGELOG, architecture/build notes).
  • 415 testsmake check green.

Commits

  1. b19660f — slide quality analysis, Mermaid rendering, export quality gating
  2. 6c0b8a8 — field navigation, accent contrast, export l10n, docs

Test plan

  • make check
  • Low-contrast theme → deck-wide issues; click → Settings opens on highlighted colour
  • Dense slide / missing alt text → click issue → jumps to slide and focuses editor field
  • Export with warnings/errors → confirm dialog; with block setting → errors refuse export
  • Mermaid fenced block → visible in preview, presenter, and exports
  • Presenter on second display still syncs; table/chart previews unchanged for existing decks
## Summary This PR adds continuous **slide quality** analysis while editing, **Mermaid diagram** rendering in previews and exports, and **export quality gating** — plus presenter and preview improvements that landed on the same branch. ### Slide quality - Live analyser (`SlideQualityAnalyzer`) checks contrast (body, title, table, code, **accent**, footer, checklist, section), alt text / media descriptions, missing image/video files on disk, and text density (bullets, tables, code, markdown, title, quote). - Quality bar below the preview with severity filters; thumbnail badges and inline editor hints. - Click an issue to jump to the slide field or open **Settings → Colours** with the matching theme colour highlighted. - Export dialog: soft warning (*Warn on export*) and optional hard block (*Block export on serious quality issues*). Policy strings are fully localised. ### Mermaid - New `MermaidRenderService` and `MermaidDiagram` widget; diagrams render in slide preview, presenter, and raster/PDF/PPTX/HTML export paths. ### Other - Presenter / dual-screen and table preview refinements. - Platform feature flags for web vs desktop; documentation updates (`USER_GUIDE`, `CHANGELOG`, architecture/build notes). - **415 tests** — `make check` green. ## Commits 1. `b19660f` — slide quality analysis, Mermaid rendering, export quality gating 2. `6c0b8a8` — field navigation, accent contrast, export l10n, docs ## Test plan - [x] `make check` - [x] Low-contrast theme → deck-wide issues; click → Settings opens on highlighted colour - [x] Dense slide / missing alt text → click issue → jumps to slide and focuses editor field - [x] Export with warnings/errors → confirm dialog; with block setting → errors refuse export - [x] Mermaid fenced block → visible in preview, presenter, and exports - [x] Presenter on second display still syncs; table/chart previews unchanged for existing decks
Add a slide quality analyzer with a quality panel and details dialog, a
deck quality provider, and quality localization; gate and annotate exports via
a quality export policy and export metadata.

Add a Mermaid diagram rendering service and widget, plus markdown
validation, colour-contrast (accessibility) helpers, slide rasterizer and
preview refinements, and a new platform layer.

Docs updated (architecture, build, file format, shortcuts, user guide).

Note: working tree captured as-is; lib/l10n/app_localizations.dart has a
duplicate const-map key that currently breaks the build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extend slide quality with field navigation, accent contrast, and export l10n.
Some checks failed
CI / Format · Analyze · Test (push) Waiting to run
CI / Format · Analyze · Test (pull_request) Has been cancelled
6c0b8a8d96
Navigate from quality issues to the relevant editor field or highlighted theme colour, add accent contrast checks, localise export policy strings, and document the feature in CHANGELOG and USER_GUIDE.

Co-authored-by: Cursor <cursoragent@cursor.com>
brenno merged commit 750e7c2e4d into main 2026-06-20 09:00:48 +00:00
Sign in to join this conversation.
No description provided.