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.
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/renderemits source under aThemeand renders to SVG).Why this is cheap to add later
The emit layer is pluggable from issue 2: the robust engine is another
Emitterbehind thesame interface, consuming the same view model and the same
Theme(issue 5). No view-model orcommand rework is required - only a new emitter and a new
--formatvalue. This is the payoffof building the seam up front.
Scope (when scheduled)
Emitterproducing 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).
--formatvalue wired into issue 3's validation.Theme.Tests (TDD, when scheduled)
--formatand produces valid output for the samefixtures used by the Mermaid goldens.
Acceptance
--format, additive to Mermaid, with no change tothe view model or command structure.
Dependencies
#301 (the pluggable emitter). Deferred; do not schedule until the Mermaid path is shipped.