google / google/flow-lens

Standardize Inner Section Representation Across Diagram Types

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
81
Forks
11
PR merge metrics
No merged PRs in 30d

Description

## Description
Currently, the `InnerNode` interface in `uml_generator.ts` suggests a nested node structure, but in practice, Graphviz and Mermaid diagrams render these as `


` delimited sections within the main node. PlantUML's implementation differs from this pattern, leading to inconsistent visualization across diagram tools.

**Current Implementation**
```typescript
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**
1. Rename `InnerNode` to `NodeSection` to better reflect its actual usage
2. Refactor the interface to clearly indicate text styling:
```typescript
export interface NodeSection {
id: string;
boldText?: string; // Currently 'type'
underlinedText?: string; // Currently 'label'
contentLines: string[]; // Currently 'content'
}
```

3. Update PlantUML renderer to match Graphviz/Mermaid section-based rendering

**Affected Files**
- `src/main/uml_generator.ts`
- `src/main/plantuml_generator.ts`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.