@drunkcoding/agents-and-skills 0.0.44 → 0.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -47
- package/README.md +3 -6
- package/package.json +4 -1
- package/plugins/multica-tool/.claude-plugin/plugin.json +1 -1
- package/plugins/multica-tool/scripts/lib.mjs +53 -4
- package/plugins/multica-tool/scripts/multica-export.mjs +170 -50
- package/plugins/multica-tool/scripts/multica-import.mjs +209 -27
- package/plugins/multica-tool/skills/export/SKILL.md +91 -22
- package/plugins/multica-tool/skills/import/SKILL.md +24 -9
- package/plugins/multica-tool/skills/sync/SKILL.md +1 -1
- package/plugins/plugin-validator/.claude-plugin/plugin.json +1 -1
- package/plugins/html-effectiveness/.claude-plugin/plugin.json +0 -17
- package/plugins/html-effectiveness/README.md +0 -28
- package/plugins/html-effectiveness/agents/report-builder.md +0 -66
- package/plugins/html-effectiveness/assets/base.css +0 -51
- package/plugins/html-effectiveness/assets/base.js +0 -11
- package/plugins/html-effectiveness/assets/charts.js +0 -1
- package/plugins/html-effectiveness/assets/components.css +0 -10
- package/plugins/html-effectiveness/commands/html-report.md +0 -13
- package/plugins/html-effectiveness/docs/template-gallery.md +0 -28
- package/plugins/html-effectiveness/package.json +0 -6
- package/plugins/html-effectiveness/scripts/_tmp.js +0 -37
- package/plugins/html-effectiveness/scripts/catalog.js +0 -47
- package/plugins/html-effectiveness/scripts/extract.js +0 -104
- package/plugins/html-effectiveness/scripts/mustache.js +0 -90
- package/plugins/html-effectiveness/scripts/render.js +0 -176
- package/plugins/html-effectiveness/skills/html-effectiveness/SKILL.md +0 -94
- package/plugins/html-effectiveness/templates/01-exploration-code-approaches.html.tmpl +0 -400
- package/plugins/html-effectiveness/templates/02-exploration-visual-designs.html.tmpl +0 -456
- package/plugins/html-effectiveness/templates/03-code-review-pr.html.tmpl +0 -581
- package/plugins/html-effectiveness/templates/04-code-understanding.html.tmpl +0 -443
- package/plugins/html-effectiveness/templates/05-design-system.html.tmpl +0 -578
- package/plugins/html-effectiveness/templates/06-component-variants.html.tmpl +0 -557
- package/plugins/html-effectiveness/templates/07-prototype-animation.html.tmpl +0 -417
- package/plugins/html-effectiveness/templates/08-prototype-interaction.html.tmpl +0 -363
- package/plugins/html-effectiveness/templates/09-slide-deck.html.tmpl +0 -535
- package/plugins/html-effectiveness/templates/10-svg-illustrations.html.tmpl +0 -444
- package/plugins/html-effectiveness/templates/11-status-report.html.tmpl +0 -152
- package/plugins/html-effectiveness/templates/12-incident-report.html.tmpl +0 -547
- package/plugins/html-effectiveness/templates/13-flowchart-diagram.html.tmpl +0 -361
- package/plugins/html-effectiveness/templates/14-research-feature-explainer.html.tmpl +0 -348
- package/plugins/html-effectiveness/templates/15-research-concept-explainer.html.tmpl +0 -334
- package/plugins/html-effectiveness/templates/16-implementation-plan.html.tmpl +0 -657
- package/plugins/html-effectiveness/templates/17-pr-writeup.html.tmpl +0 -553
- package/plugins/html-effectiveness/templates/18-editor-triage-board.html.tmpl +0 -541
- package/plugins/html-effectiveness/templates/19-editor-feature-flags.html.tmpl +0 -627
- package/plugins/html-effectiveness/templates/20-editor-prompt-tuner.html.tmpl +0 -687
- package/plugins/html-effectiveness/templates/manifest.json +0 -441
- package/plugins/team-share/.claude-plugin/plugin.json +0 -18
- package/plugins/team-share/README.md +0 -46
- package/plugins/team-share/agents/team-share.md +0 -53
- package/plugins/team-share/commands/team-share.md +0 -4
- package/plugins/team-share/skills/claude-config/SKILL.md +0 -143
- package/plugins/team-share/skills/codegraph-setup/SKILL.md +0 -81
- package/plugins/team-share/skills/understand-setup/SKILL.md +0 -115
- package/plugins/tech-graph/.claude-plugin/plugin.json +0 -17
- package/plugins/tech-graph/README.md +0 -66
- package/plugins/tech-graph/agents/tech-graph.md +0 -97
- package/plugins/tech-graph/commands/tech-graph.md +0 -13
- package/plugins/tech-graph/scripts/check-deps.sh +0 -55
- package/plugins/tech-graph/skills/tech-graph/LICENSE +0 -21
- package/plugins/tech-graph/skills/tech-graph/README.md +0 -555
- package/plugins/tech-graph/skills/tech-graph/README.zh.md +0 -514
- package/plugins/tech-graph/skills/tech-graph/SKILL.md +0 -263
- package/plugins/tech-graph/skills/tech-graph/agents/openai.yaml +0 -4
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style1-flat.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style2-dark.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style3-blueprint.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style4-notion.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style5-glass.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style6-claude.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style7-openai.png +0 -0
- package/plugins/tech-graph/skills/tech-graph/fixtures/agent-memory-types-style4.json +0 -181
- package/plugins/tech-graph/skills/tech-graph/fixtures/api-flow-style7.json +0 -40
- package/plugins/tech-graph/skills/tech-graph/fixtures/mem0-style1.json +0 -297
- package/plugins/tech-graph/skills/tech-graph/fixtures/microservices-style3.json +0 -64
- package/plugins/tech-graph/skills/tech-graph/fixtures/multi-agent-style5.json +0 -45
- package/plugins/tech-graph/skills/tech-graph/fixtures/system-architecture-style6.json +0 -48
- package/plugins/tech-graph/skills/tech-graph/fixtures/tool-call-style2.json +0 -182
- package/plugins/tech-graph/skills/tech-graph/package.json +0 -42
- package/plugins/tech-graph/skills/tech-graph/references/diagram-types.md +0 -171
- package/plugins/tech-graph/skills/tech-graph/references/icons.md +0 -406
- package/plugins/tech-graph/skills/tech-graph/references/style-1-flat-icon.md +0 -108
- package/plugins/tech-graph/skills/tech-graph/references/style-2-dark-terminal.md +0 -107
- package/plugins/tech-graph/skills/tech-graph/references/style-3-blueprint.md +0 -113
- package/plugins/tech-graph/skills/tech-graph/references/style-4-notion-clean.md +0 -95
- package/plugins/tech-graph/skills/tech-graph/references/style-5-glassmorphism.md +0 -125
- package/plugins/tech-graph/skills/tech-graph/references/style-6-claude-official.md +0 -209
- package/plugins/tech-graph/skills/tech-graph/references/style-7-openai.md +0 -215
- package/plugins/tech-graph/skills/tech-graph/references/style-diagram-matrix.md +0 -135
- package/plugins/tech-graph/skills/tech-graph/references/svg-layout-best-practices.md +0 -100
- package/plugins/tech-graph/skills/tech-graph/references/svg-to-png.md +0 -115
- package/plugins/tech-graph/skills/tech-graph/scripts/README.md +0 -269
- package/plugins/tech-graph/skills/tech-graph/scripts/generate-diagram.sh +0 -181
- package/plugins/tech-graph/skills/tech-graph/scripts/generate-from-template.py +0 -1587
- package/plugins/tech-graph/skills/tech-graph/scripts/test-all-styles.sh +0 -143
- package/plugins/tech-graph/skills/tech-graph/scripts/validate-svg.sh +0 -306
- package/plugins/tech-graph/skills/tech-graph/templates/agent-architecture.svg +0 -28
- package/plugins/tech-graph/skills/tech-graph/templates/architecture.svg +0 -23
- package/plugins/tech-graph/skills/tech-graph/templates/comparison-matrix.svg +0 -14
- package/plugins/tech-graph/skills/tech-graph/templates/data-flow.svg +0 -28
- package/plugins/tech-graph/skills/tech-graph/templates/er-diagram.svg +0 -21
- package/plugins/tech-graph/skills/tech-graph/templates/flowchart.svg +0 -21
- package/plugins/tech-graph/skills/tech-graph/templates/sequence.svg +0 -20
- package/plugins/tech-graph/skills/tech-graph/templates/state-machine.svg +0 -20
- package/plugins/tech-graph/skills/tech-graph/templates/timeline.svg +0 -19
- package/plugins/tech-graph/skills/tech-graph/templates/use-case.svg +0 -21
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
# Style 6: Claude Official
|
|
2
|
-
|
|
3
|
-
Inspired by Anthropic's Claude blog technical diagrams — warm, approachable, professional.
|
|
4
|
-
s
|
|
5
|
-
|
|
6
|
-
```
|
|
7
|
-
Background: #f8f6f3 (warm cream)
|
|
8
|
-
Box fill:
|
|
9
|
-
- Blue tint: #a8c5e6 (alert/input nodes)
|
|
10
|
-
- Green tint: #9dd4c7 (agent nodes)
|
|
11
|
-
- Beige: #f4e4c1 (infrastructure/bus)
|
|
12
|
-
- Gray tint: #e8e6e3 (storage/state)
|
|
13
|
-
Box stroke: #4a4a4a (dark gray)
|
|
14
|
-
Box radius: 12px
|
|
15
|
-
Text primary: #1a1a1a (near black)
|
|
16
|
-
Text secondary: #6a6a6a (medium gray)
|
|
17
|
-
Text labels: #5a5a5a (arrow labels)
|
|
18
|
-
|
|
19
|
-
Semanode colors:
|
|
20
|
-
Input/Source: #a8c5e6 (soft blue)
|
|
21
|
-
Agent/Process: #9dd4c7 (soft teal-green)
|
|
22
|
-
Infrastructure: #f4e4c1 (warm beige)
|
|
23
|
-
Storage/State: #e8e6e3 (light gray)
|
|
24
|
-
|
|
25
|
-
Arrow color: #5a5a5a (consistent dark gray)
|
|
26
|
-
`ypography
|
|
27
|
-
|
|
28
|
-
```
|
|
29
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue',
|
|
30
|
-
Arial, 'PingFang SC', 'Microsoft YaHei', 'Microsoft JhengHei', 'SimHei', sans-serif
|
|
31
|
-
font-size: 16px node labels, 14px descriptions, 13px arrow labels
|
|
32
|
-
font-weight: 600 for node labels, 400 for descriptions, 700 for titles
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Box Shapes
|
|
36
|
-
|
|
37
|
-
```xml
|
|
38
|
-
<!-- Agent node (teal-green) -->
|
|
39
|
-
<rect rx="12" ry="12" fill="#9dd4c7" stroke="#4a4a4a" stroke-width="2.5"/>
|
|
40
|
-
|
|
41
|
-
<!-- Input/Source node (soft blue) -->
|
|
42
|
-
<rect rx="12" ry="12" fill="#a8c5e6" stroke="#4a4a4a" stroke-width="2.5"/>
|
|
43
|
-
|
|
44
|
-
<!-- Infrastructure node (warm beige) -->
|
|
45
|
-
<rect rx="12" ry="12" fill="#f4e4c1" stroke="#4a4a4a" stroke-width="2.5"/>
|
|
46
|
-
|
|
47
|
-
<!-- Storage/State node (light gray) -->
|
|
48
|
-
<rect rx="12" ry="12" fill="#e8e6e3" stroke="#4a4a4a" stroke-width="2.5"/>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Arrows
|
|
52
|
-
|
|
53
|
-
```xml
|
|
54
|
-
<defs>
|
|
55
|
-
<marker id="arrow-claude" markerWidth="8" markerHeight="8"
|
|
56
|
-
refX="7" refY="4" orient="auto">
|
|
57
|
-
<polygon points="0 0, 8 4, 0 8" fill="#5a5a5a"/>
|
|
58
|
-
</marker>
|
|
59
|
-
</defs>
|
|
60
|
-
|
|
61
|
-
<!-- Arrow line -->
|
|
62
|
-
<line stroke="#5a5a5a" stroke-width="2" marker-end="url(#arrow-claude)"/>
|
|
63
|
-
|
|
64
|
-
<!-- Or use simple line without arrowhead for cleaner look -->
|
|
65
|
-
<line stroke="#5a5a5a" stroke-width="2"/>
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Arrow Semantics
|
|
69
|
-
|
|
70
|
-
Use different arrow styles to convey meaning:
|
|
71
|
-
|
|
72
|
-
| Flow Type | Color | Stroke | Dash | Usage |
|
|
73
|
-
|-----------|-------|--------|------|-------|
|
|
74
|
-
| Primary data flow | #5a5a5a | 2px solid | none | Main request/response path |
|
|
75
|
-
| Memory write | #5a5a5a | 2px | `5,3` | Write/store operations |
|
|
76
|
-
| Memory read | #5a5a5a | 2px solid | none | Retrieval from store |
|
|
77
|
-
| Control/trigger | #5a5a5a | 1.5px | `3,2` | Event triggers |
|
|
78
|
-
|
|
79
|
-
```xml
|
|
80
|
-
<!-- Solid arrow for reads -->
|
|
81
|
-
<line stroke="#5a5a5a" stroke-width="2" marker-end="url(#arrow-claude)"/>
|
|
82
|
-
|
|
83
|
-
<!-- Dashed arrow for writes -->
|
|
84
|
-
<line stroke="#5a5a5a" stroke-width="2" stroke-dasharray="5,3" marker-end="url(#arrow-claude)"/>
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## Arrow Labels
|
|
88
|
-
|
|
89
|
-
Arrow labels should be **technical and specific**, positioned mid-arrow:
|
|
90
|
-
|
|
91
|
-
```xml
|
|
92
|
-
<text x="..." y="..." fill="#5a5a5a" font-size="13" text-anchor="middle">
|
|
93
|
-
store(embedding)
|
|
94
|
-
</text>
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Good lls: `query(text)`, `retrieve(top_k=5)`, `embed(768d)`, `POST /api/search`
|
|
98
|
-
Avoid vague labels: "Process", "Send", "Get"
|
|
99
|
-
|
|
100
|
-
## Node Content Guidelines
|
|
101
|
-
|
|
102
|
-
Node content should include **technical details**, not just concepts:
|
|
103
|
-
|
|
104
|
-
**Good examples:**
|
|
105
|
-
- "Vector Store" → "Vector Sne)" + "• 768-dim embeddings" + "• Cosine s"
|
|
106
|
-
- "LLM" → "GPT-4" + "• 8K context" + "• Temperature: 0.7"
|
|
107
|
-
- "Memory" → "Redis Cache" + "• TTL: 5min" + "• Max: 4K tokens"
|
|
108
|
-
|
|
109
|
-
**Avoid vague descriptions:**
|
|
110
|
-
- "Process data" → specify what processing
|
|
111
|
-
- "Store information" → specify storage type and format
|
|
112
|
-
- "Handle requests" → specify request type and method
|
|
113
|
-
|
|
114
|
-
Use 2-3 lines per node:
|
|
115
|
-
1. Component name (bold, 16px)
|
|
116
|
-
2. Technical detail or implementation (14px)
|
|
117
|
-
3. Key parameter or constraint (14px, optional)
|
|
118
|
-
|
|
119
|
-
## Layer Labels
|
|
120
|
-
|
|
121
|
-
For multi-layer architectures, add layer labels on the left side:
|
|
122
|
-
|
|
123
|
-
```xml
|
|
124
|
-
<text x="30" y="130" fill="#6a6a6a" font-size="14" font-weight="600">Input</text>
|
|
125
|
-
<text x="30" y="290" fill="#6a6a6a" font-size="14" font-weight="600">Processing</text>
|
|
126
|
-
<text x="30" y="490" fill="#6a6a6a" font-size="14" font-weight="600">Storage</text>
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Position at the vertical center of each layer.
|
|
130
|
-
|
|
131
|
-
## Legend Requirement
|
|
132
|
-
|
|
133
|
-
When using 2+ arrow types or colors, include a legend in the bottom-right corner:
|
|
134
|
-
|
|
135
|
-
```Legend box -->="720" y="520" width="220" height="8" ry="8"
|
|
136
|
-
fill="#ffffff" stroke="#4a4a4a" stroke-width="1.5"/>
|
|
137
|
-
<text x="735" y="540" fill="#1a1a1a" font-size="13" font-weight="600">Legend</text>
|
|
138
|
-
|
|
139
|
-
<!-- Legend items -->
|
|
140
|
-
<line x1="735" y1="555" x2="765" y2="555" stroke="#5a5a5a" stroke-width="2"/>
|
|
141
|
-
<text x="775" y="560" fill="#6a6a6a" font-size="12">Read operation</text>
|
|
142
|
-
|
|
143
|
-
<line x1="735" y1="570" x2="765" y2="570" stroke="#5a5a5a" stroke-width="2" stroke-dasharray="5,3"/>
|
|
144
|
-
<text x="775" y="575" fill="#6a6a6a" font-size="12">Write operation</text>
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Position: bottom-right, 20px margin from edges.
|
|
148
|
-
|
|
149
|
-
## Layout Principles
|
|
150
|
-
|
|
151
|
-
- **Generous spacing**: Minimum 80px between node edges
|
|
152
|
-
- **Horizontal alignment same layer align perfectly
|
|
153
|
-
- **Vertical flow**: Top-to-bottom preferred
|
|
154
|
-
- **Symmetry**: Balaight composition
|
|
155
|
-
- **Clean lines**: Orthogonal rotical then horizontal, or vice# SVG Template
|
|
156
|
-
|
|
157
|
-
```xml
|
|
158
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 600"
|
|
159
|
-
width="960" height="600">
|
|
160
|
-
<style>
|
|
161
|
-
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
|
|
162
|
-
'Helvetica Neue', Arial, 'PingFang SC', 'Microsoft YaHei', 'Microsoft JhengHei', 'SimHei', sans-serif;
|
|
163
|
-
}
|
|
164
|
-
</style>
|
|
165
|
-
<defs>
|
|
166
|
-
<marker id="arrow-claude" markerWidth="8" markerHeight="8"
|
|
167
|
-
refX="7" refY="4" orient="auto">
|
|
168
|
-
<polygon points="0 0, 8 4, 0 8" fill="#5a5a5a"/>
|
|
169
|
-
</marker>
|
|
170
|
-
<filter id="shadow-soft">
|
|
171
|
-
<feDropShadow dx="0" dy="2" stdDeviation="6" flood-color="#00000008"/>
|
|
172
|
-
</filter>
|
|
173
|
-
</defs>
|
|
174
|
-
|
|
175
|
-
<!-- Warm cream background -->
|
|
176
|
-
<rect width="960" height="600" fill="#f8f6f3"/>
|
|
177
|
-
|
|
178
|
-
<!-- Title (optional) -->
|
|
179
|
-
<text x="480" y="40" text-anchor="middle" fill="#1a1a1a"
|
|
180
|
-
font-size="20" font-weight="700">Diagram Title</text>
|
|
181
|
-
|
|
182
|
-
<!-- Nodes -->
|
|
183
|
-
<!-- Agent node example -->
|
|
184
|
-
<rect x="100" y=" width="180" height="80" rx="12" ry="12"
|
|
185
|
-
fill="#9dd4c7" stroke="#4a4a4a" stroke-width="2.5"
|
|
186
|
-
filter="url(#shadow-soft)"/>
|
|
187
|
-
<text x="190" y="145" text-anchor="middle" fill="#1a1a1a"
|
|
188
|
-
16" font-weight="600">Agent name</text>
|
|
189
|
-
|
|
190
|
-
<!-- Edges -->
|
|
191
|
-
<line x1="190" y1="180" x2="190" y2="240"
|
|
192
|
-
stroke="#5a5a5a" stroke-width="2" marker-end="url(#arrow-claude)"/>
|
|
193
|
-
<text x="210" y="215" fill="#5a5a5a" font-size="13">Publish</text>
|
|
194
|
-
</svg>
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
## Design Philosophy
|
|
198
|
-
|
|
199
|
-
Claude's official style emphasizes:
|
|
200
|
-
- **Warmth**: Cream background, ls
|
|
201
|
-
- ty**: High contrast text, generous spacing
|
|
202
|
-
- **Professionalism**: Consistent stroke weights, aligned elements
|
|
203
|
-
- **Approachability**: Rounded corners, friendly colors
|
|
204
|
-
|
|
205
|
-
Avoid:
|
|
206
|
-
- Harsh shadows or gradients
|
|
207
|
-
- Overly saturated colors
|
|
208
|
-
- Thin stroke weights (< 2px)
|
|
209
|
-
- Cluttered layouts
|
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
# Style 7: OpenAI Official
|
|
2
|
-
|
|
3
|
-
Clean, modern aesthetic matching OpenAI's documentation and research diagrams — minimal but precise.
|
|
4
|
-
|
|
5
|
-
## Color Palette
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Background: #ffffff (pure white)
|
|
9
|
-
Primary text: #0d0d0d (near black)
|
|
10
|
-
Secondary text: #6e6e80 (muted gray)
|
|
11
|
-
Border: #e5e5e5 (light gray)
|
|
12
|
-
|
|
13
|
-
Accent colors (reserved):
|
|
14
|
-
Green accent: #10a37f (OpenAI brand green)
|
|
15
|
-
Blue accent: #1d4ed8 (links, actions)
|
|
16
|
-
Orange accent: #f97316 (highlights, warnings)
|
|
17
|
-
Gray accent: #71717a (secondary elements)
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Typography
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica Neue, 'PingFang SC', 'Microsoft YaHei', 'Microsoft JhengHei', 'SimHei', sans-serif
|
|
24
|
-
font-size: 16px node labels, 13px descriptions, 12px arrow labels
|
|
25
|
-
font-weight: 600 for titles, 500 for labels, 400 for descriptions
|
|
26
|
-
letter-spacing: -0.01em (tight)
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
No custom fonts. System font stack only for maximum compatibility.
|
|
30
|
-
|
|
31
|
-
## Node Boxes
|
|
32
|
-
|
|
33
|
-
Clean, minimal boxes with subtle borders:
|
|
34
|
-
|
|
35
|
-
```xml
|
|
36
|
-
<!-- Standard node -->
|
|
37
|
-
<rect x="100" y="100" width="180" height="80" rx="8" ry="8"
|
|
38
|
-
fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
39
|
-
|
|
40
|
-
<!-- Accent node (with green left border) -->
|
|
41
|
-
<rect x="100" y="100" width="180" height="80" rx="8" ry="8"
|
|
42
|
-
fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
43
|
-
<rect x="100" y="100" width="4" height="80" rx="2" ry="2"
|
|
44
|
-
fill="#10a37f"/>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**Key techniques:**
|
|
48
|
-
1. White fill with light gray border (no shadows)
|
|
49
|
-
2. Optional colored left-border accent strip (4px wide)
|
|
50
|
-
3. `rx="8"` for subtle rounding
|
|
51
|
-
4. `stroke-width: 1.5` — thin, precise borders
|
|
52
|
-
5. No gradients, no shadows, no decorative elements
|
|
53
|
-
|
|
54
|
-
## Arrows
|
|
55
|
-
|
|
56
|
-
Thin, precise arrows with subtle colors:
|
|
57
|
-
|
|
58
|
-
```xml
|
|
59
|
-
<defs>
|
|
60
|
-
<!-- Default arrow (gray) -->
|
|
61
|
-
<marker id="arrow-oai" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
|
|
62
|
-
<polygon points="0 0, 10 3.5, 0 7" fill="#71717a"/>
|
|
63
|
-
</marker>
|
|
64
|
-
|
|
65
|
-
<!-- Accent arrow (green) -->
|
|
66
|
-
<marker id="arrow-oai-green" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
|
|
67
|
-
<polygon points="0 0, 10 3.5, 0 7" fill="#10a37f"/>
|
|
68
|
-
</marker>
|
|
69
|
-
</defs>
|
|
70
|
-
|
|
71
|
-
<!-- Default connection -->
|
|
72
|
-
<line x1="280" y1="140" x2="400" y2="140"
|
|
73
|
-
stroke="#71717a" stroke-width="1.5" marker-end="url(#arrow-oai)"/>
|
|
74
|
-
|
|
75
|
-
<!-- Accent connection -->
|
|
76
|
-
<line x1="280" y1="140" x2="400" y2="140"
|
|
77
|
-
stroke="#10a37f" stroke-width="1.5" marker-end="url(#arrow-oai-green)"/>
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**Arrow guidelines:**
|
|
81
|
-
- Prefer straight lines (orthogonal routing with right angles)
|
|
82
|
-
- `stroke-width: 1.5` — thin and precise
|
|
83
|
-
- Filled polygon arrowheads (not stroke-based)
|
|
84
|
-
- Gray for default, green for primary/accent flows
|
|
85
|
-
- Dashed (`stroke-dasharray="4,3"`) for optional/async flows
|
|
86
|
-
|
|
87
|
-
## Arrow Labels
|
|
88
|
-
|
|
89
|
-
Minimal, small labels:
|
|
90
|
-
|
|
91
|
-
```xml
|
|
92
|
-
<text x="340" y="133" text-anchor="middle" fill="#6e6e80" font-size="12">
|
|
93
|
-
label
|
|
94
|
-
</text>
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Labels should be:
|
|
98
|
-
- 12px, gray color (`#6e6e80`)
|
|
99
|
-
- No background rect (white background is default)
|
|
100
|
-
- Short, technical language
|
|
101
|
-
- Midpoint of arrow
|
|
102
|
-
|
|
103
|
-
## Database Shapes
|
|
104
|
-
|
|
105
|
-
Clean cylinders with thin borders:
|
|
106
|
-
|
|
107
|
-
```xml
|
|
108
|
-
<ellipse cx="200" cy="100" rx="50" ry="12" fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
109
|
-
<path d="M 150,100 L 150,140 Q 200,155 250,140 L 250,100"
|
|
110
|
-
fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
111
|
-
<ellipse cx="200" cy="140" rx="50" ry="12" fill="none" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Grouping Containers
|
|
115
|
-
|
|
116
|
-
Dashed rect containers for logical grouping:
|
|
117
|
-
|
|
118
|
-
```xml
|
|
119
|
-
<rect x="80" y="80" width="400" height="200" rx="8" ry="8"
|
|
120
|
-
fill="none" stroke="#e5e5e5" stroke-width="1" stroke-dasharray="4,3"/>
|
|
121
|
-
<text x="90" y="97" fill="#6e6e80" font-size="12" font-weight="500">
|
|
122
|
-
Group Label
|
|
123
|
-
</text>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Node Content
|
|
127
|
-
|
|
128
|
-
Clean, minimal text layout:
|
|
129
|
-
|
|
130
|
-
```xml
|
|
131
|
-
<rect x="100" y="100" width="180" height="80" rx="8" ry="8"
|
|
132
|
-
fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
133
|
-
<text x="190" y="130" text-anchor="middle" fill="#0d0d0d"
|
|
134
|
-
font-size="16" font-weight="600">
|
|
135
|
-
Component Name
|
|
136
|
-
</text>
|
|
137
|
-
<text x="190" y="150" text-anchor="middle" fill="#6e6e80"
|
|
138
|
-
font-size="13">
|
|
139
|
-
Brief description
|
|
140
|
-
</text>
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
**Content guidelines:**
|
|
144
|
-
- 1-2 lines per box
|
|
145
|
-
- Main label: 16px, font-weight: 600, near-black
|
|
146
|
-
- Description: 13px, font-weight: 400, gray
|
|
147
|
-
- Center-aligned text within boxes
|
|
148
|
-
|
|
149
|
-
## Layout Principles
|
|
150
|
-
|
|
151
|
-
**Precise, grid-aligned layout:**
|
|
152
|
-
- Snap all coordinates to 8px grid
|
|
153
|
-
- Consistent 100px horizontal spacing
|
|
154
|
-
- Consistent 120px vertical spacing
|
|
155
|
-
- Generous whitespace (40px+ margins)
|
|
156
|
-
- No decorative elements
|
|
157
|
-
|
|
158
|
-
**OpenAI minimalism:**
|
|
159
|
-
- Only use color when semantically meaningful (brand green for primary flow)
|
|
160
|
-
- White boxes on white background — differentiation through border and label only
|
|
161
|
-
- Avoid: shadows, gradients, patterns, icons, decorative elements
|
|
162
|
-
- Prefer: straight lines, orthogonal routing, thin strokes
|
|
163
|
-
|
|
164
|
-
## SVG Template
|
|
165
|
-
|
|
166
|
-
```xml
|
|
167
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 600" width="960" height="600">
|
|
168
|
-
<style>
|
|
169
|
-
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica Neue, 'PingFang SC', 'Microsoft YaHei', 'Microsoft JhengHei', 'SimHei', sans-serif; }
|
|
170
|
-
</style>
|
|
171
|
-
<defs>
|
|
172
|
-
<marker id="arrow-oai" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
|
|
173
|
-
<polygon points="0 0, 10 3.5, 0 7" fill="#71717a"/>
|
|
174
|
-
</marker>
|
|
175
|
-
<marker id="arrow-oai-green" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
|
|
176
|
-
<polygon points="0 0, 10 3.5, 0 7" fill="#10a37f"/>
|
|
177
|
-
</marker>
|
|
178
|
-
</defs>
|
|
179
|
-
|
|
180
|
-
<!-- White background -->
|
|
181
|
-
<rect width="960" height="600" fill="#ffffff"/>
|
|
182
|
-
|
|
183
|
-
<!-- Title -->
|
|
184
|
-
<text x="480" y="30" text-anchor="middle" fill="#0d0d0d"
|
|
185
|
-
font-size="20" font-weight="600">Diagram Title</text>
|
|
186
|
-
|
|
187
|
-
<!-- Standard node -->
|
|
188
|
-
<rect x="100" y="70" width="180" height="80" rx="8" ry="8"
|
|
189
|
-
fill="#ffffff" stroke="#e5e5e5" stroke-width="1.5"/>
|
|
190
|
-
<text x="190" y="100" text-anchor="middle" fill="#0d0d0d"
|
|
191
|
-
font-size="16" font-weight="600">Component</text>
|
|
192
|
-
<text x="190" y="120" text-anchor="middle" fill="#6e6e80"
|
|
193
|
-
font-size="13">Description</text>
|
|
194
|
-
|
|
195
|
-
<!-- Connection -->
|
|
196
|
-
<line x1="280" y1="110" x2="400" y2="110"
|
|
197
|
-
stroke="#71717a" stroke-width="1.5" marker-end="url(#arrow-oai)"/>
|
|
198
|
-
<text x="340" y="103" text-anchor="middle" fill="#6e6e80" font-size="12">label</text>
|
|
199
|
-
</svg>
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
## Design Philosophy
|
|
203
|
-
|
|
204
|
-
OpenAI Official style emphasizes:
|
|
205
|
-
- **Minimalism**: White on white, only essential visual elements
|
|
206
|
-
- **Precision**: Thin strokes, sharp corners (rx=8), grid-aligned
|
|
207
|
-
- **Clarity**: Content-first, no visual noise
|
|
208
|
-
- **Brand consistency**: `#10a37f` green used sparingly for primary flows
|
|
209
|
-
|
|
210
|
-
Avoid:
|
|
211
|
-
- Shadows and gradients
|
|
212
|
-
- Colorful fills (white fill only)
|
|
213
|
-
- Thick borders (>2px)
|
|
214
|
-
- Decorative elements (icons, patterns, textures)
|
|
215
|
-
- Custom fonts (system stack only)
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
# Style-to-Diagram-Type Adaptation Guide
|
|
2
|
-
|
|
3
|
-
Not all styles work equally well for every diagram type. Use this guide to pick the best style.
|
|
4
|
-
|
|
5
|
-
## Architecture Diagram
|
|
6
|
-
| Style | Suitability | Notes |
|
|
7
|
-
|-------|----------|
|
|
8
|
-
| 1 Flat Icon | Excellent | Default choice; colorful node fills, clear layering |
|
|
9
|
-
| 2 Dark Terminal | Excellent | Popular for dev blogs; use colored borders on dark bg |
|
|
10
|
-
| 3 Blueprint | Excellent | Perfect for formal architecture docs |
|
|
11
|
-
| 4 Notion Clean | Good | Minimal, works for inline docs |
|
|
12
|
-
| 5 Glassmorphism | Good | Striking for presentations and product pages |
|
|
13
|
-
| 6 Claude Official | Good | Warm aesthetic, Anthropic-style presentations |
|
|
14
|
-
| 7 OpenAI Official | Good | Clean, precise; minimal borders, brand green accents |
|
|
15
|
-
|
|
16
|
-
## Class Diagram / ER Diagram
|
|
17
|
-
| Style | Suitability | Notes |
|
|
18
|
-
|-------|------------|-------|
|
|
19
|
-
| 1 Flat Icon | Good | Colored headers per class category |
|
|
20
|
-
| 2 Dark Terminal | Good | High contrast for code-like diagrams |
|
|
21
|
-
| 3 Blueprint | Excellent | Best for formal UML documentation |
|
|
22
|
-
| 4 Notion Clean | Excellent | Clean, minimal; ideal for Notion-embedded diagrams |
|
|
23
|
-
| 5 Glassmorphism | Poor | Glass effects distract from structural content |
|
|
24
|
-
| 6 Claude Official | Excellent | Warm, readable; good for documentation |
|
|
25
|
-
| 7 OpenAI Official | Excellent | Minimal aesthetic matches UML precision |
|
|
26
|
-
|
|
27
|
-
## Sequence Diagram
|
|
28
|
-
| Style | Suitability | Notes |
|
|
29
|
-
|-------|------------|-------|
|
|
30
|
-
| 1 Flat Icon | Good | Clear lifelines; activation boxes visible |
|
|
31
|
-
| 2 Dark Terminal | Good | Good for dev articles; dashed lifelines visible |
|
|
32
|
-
| 3 Blueprint | Excellent | Formal, technical documentation |
|
|
33
|
-
| 4 Notion Clean | Excellent | Best for Notion-embedded sequence diagrams |
|
|
34
|
-
| 5 Glassmorphism | Poor | Glass effects make lifelines hard to read |
|
|
35
|
-
| 6 Claude Official | Excellent | Ward contrast |
|
|
36
|
-
| 7 OpenAI Official | Excellent | Minimal, precise; ideal for API docs |
|
|
37
|
-
|
|
38
|
-
## Flowchart / Process Flow
|
|
39
|
-
| Style | Suitability | Notes |
|
|
40
|
-
|-------|------------|-------|
|
|
41
|
-
| 1 Flat Icon | Excellent | Default; colorful decision diamonds |
|
|
42
|
-
| 2 Dark Terminal | Good | Works well for dev workflow diagrams |
|
|
43
|
-
| 3 Blueprint | Good | Formal process documentation |
|
|
44
|
-
| 4 Notion Clean | Good | Clean for SOPs and inline docs |
|
|
45
|
-
| 5 Glassmorphism | Good | Striking for product demos |
|
|
46
|
-
| 6 Claude Official | Good | Warm aesthetic for presentations |
|
|
47
|
-
| 7 OpenAI Official | Good | Clean and minimal |
|
|
48
|
-
|
|
49
|
-
## Mind Map / Concept Map
|
|
50
|
-
| Style | Suitability | Notes |
|
|
51
|
-
|-------|------------|-------|
|
|
52
|
-
| 1 Flat Icon | Excellent branches, engaging |
|
|
53
|
-
| 2 Dark Terminal | Good | Neon-like branches on dark bg |
|
|
54
|
-
| 3 Blueprint | Poor | Blueprint grid conflicts with radial layout |
|
|
55
|
-
| 4 Notion Clean | Excellent | Ideal for n brainstorming |
|
|
56
|
-
| 5 Glassmorphism | Excellent | Stunning visual for presentations |
|
|
57
|
-
| 6 Claude Official | Good | Warm, readable |
|
|
58
|
-
| 7 OpenAI Official | Good | Clean and minimal |
|
|
59
|
-
|
|
60
|
-
## Data Flow Diagram
|
|
61
|
-
| Style | Suitability | Notes |
|
|
62
|
-
|-------|------------|-------|
|
|
63
|
-
| 1 Flat Icon | Excellent | Color-coded arrows by data type |
|
|
64
|
-
| 2 Dark Terminal | Excellent | Glowing data paths on dark bg |
|
|
65
|
-
| 3 Blueprint | Excellent | Formal data flow documentation |
|
|
66
|
-
| 4 Notion Clean | Good | Minimal, clean |
|
|
67
|
-
| 5 Glassmorphism | Poor | Distracts from flow semantics |
|
|
68
|
-
| 6 Claude Official | Good | Readable |
|
|
69
|
-
| 7 OpenAI Official | Good | Precise, minimal |
|
|
70
|
-
|
|
71
|
-
## Use Case Diagram
|
|
72
|
-
| Style | Suitability | Notes |
|
|
73
|
-
|-------|------------|-------|
|
|
74
|
-
| 1 Flat Icon | Good | Colorful use case ellipses |
|
|
75
|
-
| 2 Dark Terminal | Poor | Stick figures less visible on dark bg |
|
|
76
|
-
| 3 rint | Excellent | Classic UML aesthetic |
|
|
77
|
-
| 4 Notion Clean | Excellent | Perfect for product requirement docs |
|
|
78
|
-
| 5 Glassmorphism | Poor | Unnecessary visual noise |
|
|
79
|
-
| 6 Claude Official | Excellent | Warm, professional |
|
|
80
|
-
| 7 OpenAI Official | Excellent | Clean, precise UML |
|
|
81
|
-
|
|
82
|
-
## State Machine Diagram
|
|
83
|
-
| Style | Suitability | Notes |
|
|
84
|
-
|-------|------------|-------|
|
|
85
|
-
Flat Icon | Good | Colorful states |
|
|
86
|
-
| 2 Dark Terminal | Good | Glowing states and transitions |
|
|
87
|
-
| 3 Blueprint | Excellent | Best for formal UML state machines |
|
|
88
|
-
| 4 Notion Clean | Excellent | Clean for documentation |
|
|
89
|
-
| 5 Glassmorphism | Poor | Distracts from state transitions |
|
|
90
|
-
| 6 Claude Official | Excellent | Readable |
|
|
91
|
-
| 7 OpenAI Official | Excellent | Minimal, precise |
|
|
92
|
-
|
|
93
|
-
## Network Topology
|
|
94
|
-
| Style | Suitabili |
|
|
95
|
-
|-------|------------|-------|
|
|
96
|
-
| 1 Flat Icon | Excellent | Colorful device icons |
|
|
97
|
-
| 2 Dark Terminal | Excellent | Cyberpunk-style network maps |
|
|
98
|
-
| 3 Blueprint | Excellent | Ideal for infrastructure docs |
|
|
99
|
-
| 4 Notion Clean | Good | Clean for IT documentation |
|
|
100
|
-
| 5 Glassmorphism | Good | Striking for presentations |
|
|
101
|
-
| 6 Claude Official | Good | Professional network diagrams |
|
|
102
|
-
| 7 OpenAI Official | Good | Clean infrastructure diagrams |
|
|
103
|
-
|
|
104
|
-
## Comparison / Feature Matrix
|
|
105
|
-
| Style | Suitability | Notes |
|
|
106
|
-
|-------|------------|-------|
|
|
107
|
-
| 1 Flat Icon | Excellent | Color-coded checkmarks |
|
|
108
|
-
| 2 Dark Terminal | Good | Works for dev tool comparisons |
|
|
109
|
-
| 3 Blor | Grid conflicts with table layout |
|
|
110
|
-
| 4 Notion Clean | Excellent | Perfect for Notion-embedded tables |
|
|
111
|
-
| 5 Glassmorphism | Poor | Distabular data |
|
|
112
|
-
| 6 Claude Official | Excellent | Clean, warm |
|
|
113
|
-
| 7 OpenAI Official | Excellent | Minimal, precise |
|
|
114
|
-
|
|
115
|
-
## Timeline / Gantt
|
|
116
|
-
| Style | Suitability | Notes |
|
|
117
|
-
|-------|------------|-------|
|
|
118
|
-
| 1 Flat Icon | Excellent | Colorful bars by category |
|
|
119
|
-
| 2 Dark Terminal | Good | Works for dev roadmaps |
|
|
120
|
-
| 3 Blueprint | Good | Formal project plans |
|
|
121
|
-
| 4 Notion Clean | Excellent | Ideal for Notion project docs |
|
|
122
|
-
| 5 Glassmorphism | Good | Striking for keynote presentations |
|
|
123
|
-
| 6 Claude Official | Good | Warm, professional |
|
|
124
|
-
| 7 OpenAI Official | Good | Clean timeline |
|
|
125
|
-
|
|
126
|
-
## Agent / Memory Architecture
|
|
127
|
-
| Style | Suitability | Notes |
|
|
128
|
-
|-------|------------|-------|
|
|
129
|
-
| 1 Flat Icon | Excellent | Colorful layers, engaging |
|
|
130
|
-
| 2 Dark Terminal | Excellent | Popular for AI/ML blog posts |
|
|
131
|
-
| 3 Blueprint | Good | Formal AI system documentation |
|
|
132
|
-
| 4 Notion Clean | Good | Clean for AI research notes |
|
|
133
|
-
| 5 Glassmorphism | Excellent | Stunning for AI product presentations |
|
|
134
|
-
| 6 Claude Official | Excellent | Anthropic AI aesthetic |
|
|
135
|
-
| 7 OpenAI Official | Excellent | OpenAI AI aesthetic |
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# SVG Technical Diagram Layout Best Practices
|
|
2
|
-
|
|
3
|
-
## Universal Layout Rules (Apply to All Styles)
|
|
4
|
-
|
|
5
|
-
### 1. Component Spacing
|
|
6
|
-
- **Minimum clearance between components**: 80px (edge to edge)
|
|
7
|
-
- **Minimum clearance for arrow paths**: 60px from component edges
|
|
8
|
-
- **Layer vertical spacing**: 120px between horizontal layers
|
|
9
|
-
- **Same-layer horizontal spacing**: 100-120px between components
|
|
10
|
-
|
|
11
|
-
### 2. Arrow Routing & Connection Points
|
|
12
|
-
|
|
13
|
-
#### Connection Point Rules
|
|
14
|
-
- **Never connect arrows to component corners** - use midpoints of edges
|
|
15
|
-
- **Entry/exit points**:
|
|
16
|
-
- Top edge: `cx ± offset` where offset = 0 for single arrow, ±30px for multiple
|
|
17
|
-
- Bottom edge: same rule
|
|
18
|
-
- Left/right edges: `cy ± offset`
|
|
19
|
-
- **Clearance from corners**: minimum 20px
|
|
20
|
-
|
|
21
|
-
#### Arrow Path Routing
|
|
22
|
-
- **Avoid diagonal lines crossing components** - use orthogonal routing (L-shaped paths)
|
|
23
|
-
- **For curved arrows**:
|
|
24
|
-
- Control point should be at least 40px away from any component edge
|
|
25
|
-
- Use intermediate waypoints for complex routing: `M x1,y1 L x2,y2 Q cx,cy x3,y3`
|
|
26
|
-
- **Multiple arrows between same layers**: stagger Y-coordinates by 15-20px to avoid overlap
|
|
27
|
-
|
|
28
|
-
#### Arrow Overlap Prevention
|
|
29
|
-
```svg
|
|
30
|
-
<!-- Bad: diagonal arrow crosses component -->
|
|
31
|
-
<path d="M 200,100 L 600,400"/>
|
|
32
|
-
|
|
33
|
-
<!-- Good: orthogonal routing around component -->
|
|
34
|
-
<path d="M 200,100 L 200,250 L 600,250 L 600,400"/>
|
|
35
|
-
|
|
36
|
-
<!-- Good: curved with safe control point -->
|
|
37
|
-
<path d="M 200,100 Q 400,200 600,400"/>
|
|
38
|
-
<!-- Control point (400,200) is 50px+ away from any component -->
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
### 3. Arrow Label Placement
|
|
42
|
-
- **Position**: midpoint of arrow path, offset by 5-10px perpendicular to arrow direction
|
|
43
|
-
- **Background rect**: ALWAYS include, with:
|
|
44
|
-
- Padding: 4px horizontal, 2px vertical
|
|
45
|
-
- Fill: match ckground color
|
|
46
|
-
- Opacity: 0.9-0.95
|
|
47
|
-
- **Safety distance**: 15px minimum from any component edge
|
|
48
|
-
- **Multiple converging arrows**: stagger label positions vertically by 20px
|
|
49
|
-
|
|
50
|
-
### 4. Component Overlap Detection
|
|
51
|
-
Before finalizing SVG, check:
|
|
52
|
-
- No component bounding boxes overlap px safety margin)
|
|
53
|
-
- No arrow paths pass through component interiors (except intentional tunneling with dashed style)
|
|
54
|
-
- No text labels overlap with components or other labels
|
|
55
|
-
|
|
56
|
-
### 5. Z-Index Layering (SVG render order)
|
|
57
|
-
```svg
|
|
58
|
-
<!-- Render order (top to bot back to front): -->
|
|
59
|
-
1. Background rect
|
|
60
|
-
2. Grouping coners (dashed rects)
|
|
61
|
-
3. Arrow paths
|
|
62
|
-
4. Arrow label background rects
|
|
63
|
-
5. Components (boxes, cylinders, etc.)
|
|
64
|
-
6. Component text
|
|
65
|
-
7. Arrow label text
|
|
66
|
-
8. Legend
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Style-Specific Enhancements
|
|
70
|
-
|
|
71
|
-
### Style-1: Flat Icon Clean- **Perfect alignment**: snap all coordinates to 8px grid
|
|
72
|
-
- **Sharp corners**: rx="8" ry="8" for rounded rects (consistent)
|
|
73
|
-
- **Arrows**: thin (1.5-2px), filled polygon markers
|
|
74
|
-
- **No shadows**: flat design principle
|
|
75
|
-
|
|
76
|
-
### Style-6: Claude Official Warm
|
|
77
|
-
- **Soft shadows**: `<feDropShadow dx="0" dy="2" stdDeviation="6" flood-color="#00000008"/>`
|
|
78
|
-
- **Rounded corners**: rx="12" ry="12" (more rounded than Style-1)
|
|
79
|
-
- **Arrows**: medium weight (2px), subtle markers
|
|
80
|
-
|
|
81
|
-
## Validation Checklist
|
|
82
|
-
|
|
83
|
-
Before exporting PNG, verify:
|
|
84
|
-
- [ ] No arrow-component overlaps (visual inspection)
|
|
85
|
-
- [ ] All arrow labels have background rects
|
|
86
|
-
- [ ] Minimum 60px clearance for all arrow paths
|
|
87
|
-
- [ ] Component spacing ≥ 80px
|
|
88
|
-
- [ ] Arrow connection points avoid corners (≥20px from corner)
|
|
89
|
-
- [ ] Multiple arrows between layers are staggered
|
|
90
|
-
- [ ] Legend is readable and doesn't overlap content
|
|
91
|
-
- [ ] SVG renders cleanly via `cairosvg` (or `rsvg-convert` as fallback)
|
|
92
|
-
|
|
93
|
-
## Common Anti-Patterns to Avoid
|
|
94
|
-
|
|
95
|
-
| Anti-Pattern | Fix |
|
|
96
|
-
|--------------|-----|
|
|
97
|
-
| Arrow crosses component | Use orthogonal routingase control point distancelabel overlaps component | Add background rect + increase offset |
|
|
98
|
-
| Components too close | Increase spacing to 80px minimum |
|
|
99
|
-
| Arrow connects to corner | Move connection point to edge midpoint offset |
|
|
100
|
-
| No z-index planning | Follow render order: arrows -> components -> text |
|