feat: add rendering-primitives crate, share non_import_rels across renderers

This commit is contained in:
2026-06-17 13:26:02 +02:00
parent 7487cea0e2
commit 97c7268661
12 changed files with 100 additions and 39 deletions

View File

@@ -4,6 +4,7 @@ use archlens_domain::{
CodeElement, CodeGraph, DiagramLevel, DomainError, ModuleName, RelationshipKind, RenderOutput,
RenderedFile, Visibility, ports::DiagramRenderer,
};
use archlens_rendering_primitives::non_import_rels;
pub struct MermaidRenderer {
level: DiagramLevel,
@@ -94,14 +95,11 @@ impl MermaidRenderer {
lines.extend(deferred_members);
let mut rel_seen: HashSet<String> = HashSet::new();
for rel in graph.relationships() {
if rel.kind() == RelationshipKind::Import {
continue;
}
for rel in non_import_rels(graph.relationships()) {
let arrow = match rel.kind() {
RelationshipKind::Inheritance => "<|--",
RelationshipKind::Composition => "-->",
RelationshipKind::Import => "..>",
RelationshipKind::Import => unreachable!("imports filtered by non_import_rels"),
};
let src = Self::display_name(rel.source());
let tgt = Self::display_name(rel.target());