Description
Currently, the InnerNode interface in uml_generator.ts suggests a nested node structure, but in practice, Graphviz and Mermaid diagrams render these as <hr/> delimited sections within the main node. PlantUML's implementation differs from this pattern, leading to inconsistent visualization across diagram tools.
Current Implementation
export interface InnerNode {
id: string;
type: string; // Used as bold text header
label: string; // Used as underlined text
content: string[]; // Used as regular text content
}
Proposed Changes
- Rename
InnerNode to NodeSection to better reflect its actual usage
- Refactor the interface to clearly indicate text styling:
export interface NodeSection {
id: string;
boldText?: string; // Currently 'type'
underlinedText?: string; // Currently 'label'
contentLines: string[]; // Currently 'content'
}
- Update PlantUML renderer to match Graphviz/Mermaid section-based rendering
Affected Files
src/main/uml_generator.ts
src/main/plantuml_generator.ts
Description
Currently, the
InnerNodeinterface inuml_generator.tssuggests a nested node structure, but in practice, Graphviz and Mermaid diagrams render these as<hr/>delimited sections within the main node. PlantUML's implementation differs from this pattern, leading to inconsistent visualization across diagram tools.Current Implementation
Proposed Changes
InnerNodetoNodeSectionto better reflect its actual usageAffected Files
src/main/uml_generator.tssrc/main/plantuml_generator.ts