Skip to content

feat: presentation-framework integration for PDF/slide export #3

@hugolytics

Description

@hugolytics

Problem

Teams using DiaScope to align legal + technical stakeholders need a compliance paper trail — a static, portable document (PDF or slides) that can be stored in Confluence, Notion, Google Drive, or emailed. The interactive HTML viewer cannot satisfy this use case on its own.

Constraints

No custom PDF layout engine. Building or maintaining a bespoke PDF renderer is out of scope. The solution must integrate with an existing framework that provides PDF export out of the box.

Proposed approach: presentation framework integration

Integrate with one or more established presentation frameworks that:

  • handle their own layout and PDF export
  • provide a customization escape hatch so users can control rendering
  • are widely used and maintained

Candidates to evaluate:

  • Slidev — Markdown + Vue, excellent PDF export, highly customizable
  • Reveal.js — HTML/Markdown, print-to-PDF via its own print stylesheet
  • LaTeX / Beamer — maximum layout control, good institutional fit
  • Marp — Markdown-first, lean, good PDF output

The integration would likely mean DiaScope emitting a format that the target framework consumes (e.g. a Markdown file, a Slidev deck .md, a Reveal.js HTML structure) rather than DiaScope owning the PDF pipeline itself.

Required behavior in the exported output

Step pages

  • One page/slide per story step
  • Diagram rendered (SVG strongly preferred — stays sharp at any zoom)
  • Highlighted elements baked in at export time (no dynamic highlight)
  • Context mode always on: non-highlighted components are greyed out, not hidden
  • Narration text for that step present on the page

Navigation

  • PDF outline/bookmarks (clickable step index in the PDF sidebar)
  • Internal link from each step page to the full-diagram/legend page
  • Internal links from the full-diagram page back to each step

Full diagram page

  • The complete diagram with all components visible and ungreyed
  • Legend (if the story defines one), co-located or on an adjacent page
  • Links back to individual step pages

Legend

  • Treated as a separate page/slide
  • Linked from step pages
  • No expectation of a reliable "back" button (PDF navigation is one-way; rely on PDF viewer navigation or page numbers)

Customization escape hatch

  • Because the output passes through the presentation framework, users can modify the generated deck/markdown to control layout, fonts, branding, etc. before exporting to PDF

Out of scope (for this ticket)

  • Hover tooltips (unreliable across PDF viewers outside Acrobat)
  • Interactive folding/collapsing
  • A built-in DiaScope print stylesheet
  • Building or maintaining a PDF layout engine

Open questions

  • Which framework should be the primary integration target?
  • Should DiaScope emit a single multi-format output (e.g. a Slidev deck that also exports to PDF), or separate outputs per framework?
  • How do we handle stories with a large number of steps (page count, file size)?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions