Skip to content

visualizer (deferred): high-fidelity render engine behind the emitter #308

Description

@joshua-temple

Problem (deferred - lower priority, schedule later)

Mermaid is perfect for GitHub-native rendering but limited for high-fidelity output (precise
layout, SVG/PNG export, richer styling). Once the Mermaid path is proven, add a more robust
render engine for high-fidelity SVG/PNG, modeled on crucible's render engine
(crucible/cmd/crucible/internal/render emits source under a Theme and renders to SVG).

Why this is cheap to add later

The emit layer is pluggable from issue 2: the robust engine is another Emitter behind the
same interface, consuming the same view model and the same Theme (issue 5). No view-model or
command rework is required - only a new emitter and a new --format value. This is the payoff
of building the seam up front.

Scope (when scheduled)

  • A second Emitter producing the high-fidelity format (do not pin a specific engine here;
    evaluate crucible's approach and alternatives when picked up - explicitly not committing to
    graphviz).
  • A new --format value wired into issue 3's validation.
  • Reuse the existing Theme.

Tests (TDD, when scheduled)

  • The new emitter is selectable via --format and produces valid output for the same
    fixtures used by the Mermaid goldens.
  • The Mermaid path is unaffected (regression guard on existing goldens).

Acceptance

  • A high-fidelity format is selectable via --format, additive to Mermaid, with no change to
    the view model or command structure.

Dependencies

#301 (the pluggable emitter). Deferred; do not schedule until the Mermaid path is shipped.

Metadata

Metadata

Assignees

No one assigned

    Labels

    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