@diagrammo/dgmo 0.10.1 → 0.10.2

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.
Files changed (48) hide show
  1. package/dist/auto.cjs +1 -1
  2. package/dist/auto.js +1 -1
  3. package/dist/auto.mjs +1 -1
  4. package/package.json +2 -2
  5. package/docs/guide/chart-arc.md +0 -71
  6. package/docs/guide/chart-area.md +0 -73
  7. package/docs/guide/chart-bar-stacked.md +0 -61
  8. package/docs/guide/chart-bar.md +0 -62
  9. package/docs/guide/chart-boxes-and-lines.md +0 -243
  10. package/docs/guide/chart-c4.md +0 -298
  11. package/docs/guide/chart-chord.md +0 -43
  12. package/docs/guide/chart-class.md +0 -204
  13. package/docs/guide/chart-cycle.md +0 -156
  14. package/docs/guide/chart-doughnut.md +0 -38
  15. package/docs/guide/chart-er.md +0 -218
  16. package/docs/guide/chart-flowchart.md +0 -102
  17. package/docs/guide/chart-function.md +0 -56
  18. package/docs/guide/chart-funnel.md +0 -38
  19. package/docs/guide/chart-gantt.md +0 -368
  20. package/docs/guide/chart-heatmap.md +0 -41
  21. package/docs/guide/chart-infra.md +0 -694
  22. package/docs/guide/chart-journey-map.md +0 -179
  23. package/docs/guide/chart-kanban.md +0 -158
  24. package/docs/guide/chart-line.md +0 -79
  25. package/docs/guide/chart-mindmap.md +0 -198
  26. package/docs/guide/chart-multi-line.md +0 -84
  27. package/docs/guide/chart-org.md +0 -209
  28. package/docs/guide/chart-pie.md +0 -39
  29. package/docs/guide/chart-polar-area.md +0 -38
  30. package/docs/guide/chart-pyramid.md +0 -111
  31. package/docs/guide/chart-quadrant.md +0 -69
  32. package/docs/guide/chart-radar.md +0 -38
  33. package/docs/guide/chart-sankey.md +0 -103
  34. package/docs/guide/chart-scatter.md +0 -91
  35. package/docs/guide/chart-sequence.md +0 -354
  36. package/docs/guide/chart-sitemap.md +0 -265
  37. package/docs/guide/chart-slope.md +0 -56
  38. package/docs/guide/chart-state.md +0 -171
  39. package/docs/guide/chart-tech-radar.md +0 -219
  40. package/docs/guide/chart-timeline.md +0 -229
  41. package/docs/guide/chart-venn.md +0 -81
  42. package/docs/guide/chart-wireframe.md +0 -100
  43. package/docs/guide/chart-wordcloud.md +0 -66
  44. package/docs/guide/colors.md +0 -287
  45. package/docs/guide/how-dgmo-thinks.md +0 -277
  46. package/docs/guide/index.md +0 -63
  47. package/docs/guide/keyboard-shortcuts.md +0 -49
  48. package/docs/guide/registry.json +0 -58
@@ -1,171 +0,0 @@
1
- # State Diagram
2
-
3
- ```dgmo
4
- state Order Lifecycle
5
-
6
- [*] -> Pending
7
-
8
- Pending
9
- -submit-> Validating
10
-
11
- Validating
12
- -approved-> Processing
13
- -rejected-> Cancelled
14
-
15
- [Fulfillment]
16
- Processing
17
- -pack-> Shipping
18
- -out of stock-> Cancelled
19
-
20
- Shipping
21
- -delivered-> Delivered
22
- -lost-> Refunded
23
-
24
- [Resolution]
25
- Delivered
26
- -return request-> Returning
27
-
28
- Returning
29
- -received-> Refunded
30
-
31
- Cancelled -> [*]
32
- Refunded -> [*]
33
- Delivered -> [*]
34
- ```
35
-
36
- ## Overview
37
-
38
- State diagrams model states and transitions. Write states as plain text and connect them with `->` arrows. Diagrammo handles the layout automatically. Use `[*]` for start/end pseudostates and indent lines to chain transitions from a parent state.
39
-
40
- ## Syntax
41
-
42
- ```
43
- state Diagram Title
44
- direction-tb
45
-
46
- [*] -> Idle
47
- Idle -event-> Active
48
- Active -> [*]
49
- ```
50
-
51
- ## Settings
52
-
53
- | Key | Description | Default |
54
- | -------------- | ----------------------------------------------- | ------- |
55
- | `chart` | Must be `state` | — |
56
- | `title` | Diagram title | None |
57
- | `direction-tb` | Top-to-bottom layout (default is left-to-right) | `TB` |
58
-
59
- ## States
60
-
61
- Write state names as plain text. States are created automatically when referenced:
62
-
63
- ```
64
- Idle -> Active -> Done
65
- ```
66
-
67
- ### Pseudostates
68
-
69
- Use `[*]` for start and end points. They render as filled circles:
70
-
71
- ```
72
- [*] -> Idle
73
- Done -> [*]
74
- ```
75
-
76
- ## Transitions
77
-
78
- Connect states with `->`. Add labels between dashes:
79
-
80
- ```
81
- Idle -> Active
82
- Idle -start-> Active
83
- Active -finish(green)-> Done
84
- ```
85
-
86
- ### Indent-Based Source Inference
87
-
88
- Indent transitions under a state heading to chain them from that state:
89
-
90
- ```
91
- Idle
92
- -start-> Active
93
- -reset-> Stopped
94
- Active
95
- -> Done
96
- ```
97
-
98
- This is equivalent to writing `Idle -start-> Active`, `Idle -reset-> Stopped`, and `Active -> Done`.
99
-
100
- ### Transition Chains
101
-
102
- Chain multiple states on a single line:
103
-
104
- ```
105
- [*] -> Idle -> Active -> Done -> [*]
106
- ```
107
-
108
- ## State Colors
109
-
110
- Add a color name in parentheses after a state label:
111
-
112
- ```
113
- Active(green) -> Error(red)
114
- ```
115
-
116
- ## Transition Colors
117
-
118
- Add a color in parentheses inside the arrow label:
119
-
120
- ```
121
- Idle -go(green)-> Active
122
- Active -fail(red)-> Error
123
- ```
124
-
125
- ## Groups
126
-
127
- Use bracket syntax `[Name]` to visually group states into regions. States indented under the bracket line belong to the group. The group closes when indentation returns to the bracket's level or below:
128
-
129
- ```
130
- state
131
-
132
- [Happy Path](green)
133
- [*] -> Processing -> Approved -> [*]
134
-
135
- [Error Handling](red)
136
- Processing -fail-> Rejected -> [*]
137
- ```
138
-
139
- Groups render as labeled background boxes with optional colors.
140
-
141
- ## Comments
142
-
143
- ```
144
- // This line is ignored by the parser
145
- [*] -> Idle
146
- ```
147
-
148
- ## Complete Example
149
-
150
- ```dgmo
151
- state Order of the Jolly Roger
152
-
153
- [*] -> Docked
154
- Docked
155
- -set sail-> At Sea
156
- At Sea
157
- -spot treasure-> Treasure Hunt
158
- -enemy ship!-> Battle
159
- Treasure Hunt
160
- -found gold-> Celebrating
161
- -empty chest-> At Sea
162
- Battle
163
- -victory!-> Plundering
164
- -retreat!-> At Sea
165
- Plundering
166
- -> Celebrating
167
- Celebrating
168
- -rum's gone-> At Sea
169
- -retire-> Docked
170
- -mutiny!-> [*]
171
- ```
@@ -1,219 +0,0 @@
1
- # Technology Radar
2
-
3
- ```dgmo
4
- tech-radar Pirate Operations Radar — Q2 1718
5
-
6
- rings
7
- Full Sail
8
- Trial Run
9
- Spyglass
10
- Davy Jones
11
-
12
- Tactics | quadrant: top-right
13
- Ambush at Dawn | ring: Full Sail, trend: stable
14
- Our most reliable boarding tactic. **90% success rate** when
15
- approaching from the east with the sun behind us.
16
- - Crew morale peaks at dawn — grog hasn't worn off yet
17
- - Reduced cannon fire needed: *3 volleys* vs 8 at midday
18
- Boarding Parties | ring: Full Sail, trend: stable
19
- Decoy Flags | ring: Trial Run, trend: up
20
- Flying false colours until within cannon range. Early results
21
- are promising — merchant ships drop anchor **40% more often**.
22
- Smoke Screens | ring: Trial Run, trend: new
23
- Kraken Diplomacy | ring: Spyglass, trend: new
24
- Exploring alliances with *sea monsters*. Negotiations ongoing.
25
-
26
- Vessels | quadrant: top-left
27
- Brigantine | ring: Full Sail, trend: stable
28
- Our workhorse. Fast, manoeuvrable, carries **18 cannons**.
29
- - Crew capacity: 100 pirates
30
- - Top speed: *11 knots* in fair wind
31
- Sloop | ring: Full Sail, trend: up
32
- War Galleon | ring: Trial Run, trend: up
33
- Captured from the Spanish fleet. Massive firepower but
34
- **slow to turn** — best for convoy raids, not chases.
35
- Longboat | ring: Davy Jones, trend: down
36
-
37
- Plunder Targets | quadrant: bottom-left
38
- Merchant Convoys | ring: Full Sail, trend: stable
39
- Core revenue stream — **78% of total plunder**. East India
40
- Company ships running the spice route remain most lucrative.
41
- Port Raids | ring: Trial Run, trend: up
42
- Rival Pirates | ring: Trial Run, trend: new
43
- Royal Treasury Ships | ring: Spyglass, trend: new
44
- High risk, astronomical reward. Requires:
45
- - Inside information from *corrupt harbourmasters*
46
- - At least **3 allied ships** for the blockade
47
- - A really good escape plan
48
- Whaling Ships | ring: Spyglass, trend: stable
49
- Fishing Villages | ring: Davy Jones, trend: down
50
- Terrible ROI and **bad for reputation**. The parrot union
51
- filed a formal complaint.
52
-
53
- Crew Welfare | quadrant: bottom-right
54
- Grog Rations | ring: Full Sail, trend: stable
55
- Non-negotiable. Cutting grog rations caused the *Great Mutiny of 1716*.
56
- Sea Shanty Program | ring: Trial Run, trend: new
57
- Hired a shanty master. Crew productivity up **25%** during
58
- long voyages. Signature tune: *"Yo Ho Ho and a Bottle of Rum"*.
59
- Dental Plan | ring: Spyglass, trend: up
60
- Exploring options. Most crew down to **4 teeth** on average.
61
- Parley with a Port Royal dentist scheduled for Q3.
62
- ```
63
-
64
- ## Overview
65
-
66
- Technology radars visualize how an organization adopts and evaluates technologies, practices, or strategies. Inspired by the [ThoughtWorks Technology Radar](https://www.thoughtworks.com/radar), each radar arranges items ("blips") into concentric rings indicating adoption stage, grouped by quadrant categories.
67
-
68
- Click any quadrant label to drill down into a detail view with expanded blip descriptions. Click the "Blip Legend" toggle to show or hide the numbered reference listing below the radar.
69
-
70
- ## Syntax
71
-
72
- ```
73
- tech-radar Title
74
-
75
- rings
76
- Ring1
77
- Ring2
78
-
79
- Quadrant Name | quadrant: position
80
- Blip Name | ring: RingName, trend: value
81
- Description text (markdown supported)
82
- ```
83
-
84
- ## Settings
85
-
86
- | Key | Description | Default |
87
- | --- | ----------- | ------- |
88
- | `chart` | Must be `tech-radar` | — |
89
- | `title` | Radar title | None |
90
-
91
- ## Rings
92
-
93
- Rings represent adoption stages, ordered from innermost (highest commitment) to outermost (lowest). Declare them in a `rings` block:
94
-
95
- ```
96
- rings
97
- Adopt
98
- Trial
99
- Assess
100
- Hold
101
- ```
102
-
103
- You can use any ring names — the classic Adopt/Trial/Assess/Hold is common but not required.
104
-
105
- ### Ring Aliases
106
-
107
- Rings support aliases for shorter blip references:
108
-
109
- ```
110
- rings
111
- Adopt alias a
112
- Trial alias t
113
- Assess alias x
114
- Hold alias h
115
-
116
- Quadrant | quadrant: top-right
117
- Item Name | ring: a, trend: up
118
- ```
119
-
120
- ## Quadrants
121
-
122
- Exactly 4 quadrants are required. Each needs a unique position:
123
-
124
- ```
125
- Techniques | quadrant: top-right
126
- Tools | quadrant: top-left
127
- Platforms | quadrant: bottom-left
128
- Languages | quadrant: bottom-right
129
- ```
130
-
131
- **Positions:** `top-left`, `top-right`, `bottom-left`, `bottom-right`
132
-
133
- ### Custom Colors
134
-
135
- Override the default quadrant color with `color`:
136
-
137
- ```
138
- Tools | quadrant: top-left, color: purple
139
- ```
140
-
141
- Default colors: top-left=blue, top-right=green, bottom-left=red, bottom-right=orange.
142
-
143
- ## Blips
144
-
145
- Blips are items placed on the radar. Each is indented under its quadrant and requires a `ring` reference:
146
-
147
- ```
148
- Kubernetes | ring: Adopt
149
- Micro Frontends | ring: Trial, trend: up
150
- ```
151
-
152
- Ring matching is case-insensitive — `ring: adopt` and `ring: Adopt` both work.
153
-
154
- ## Trends
155
-
156
- The optional `trend` metadata controls the visual indicator on each blip:
157
-
158
- | Trend | Indicator | Meaning |
159
- | ----- | --------- | ------- |
160
- | `new` | Double circle | Newly added to the radar |
161
- | `up` | Inward crescent | Moving toward center (higher adoption) |
162
- | `down` | Outward crescent | Moving away from center (declining) |
163
- | `stable` | Plain circle | No change since last assessment |
164
-
165
- Omitting `trend` renders a plain circle (same as `stable`).
166
-
167
- ## Descriptions
168
-
169
- Further-indented lines below a blip become its description. Descriptions support inline markdown:
170
-
171
- ```
172
- Rust | ring: Assess, trend: new
173
- Evaluating for **performance-critical** services.
174
- Key benefits: *zero-cost abstractions* and `no GC pauses`.
175
- - 12x throughput improvement in image pipeline
176
- - See [evaluation doc](https://wiki.example.com/rust)
177
- ```
178
-
179
- Descriptions appear in the quadrant detail view and on hover/click in the main radar view.
180
-
181
- ## Complete Example
182
-
183
- ```dgmo
184
- tech-radar Fleet Readiness Radar
185
-
186
- rings
187
- Battle Ready
188
- Sea Trials
189
- Scouting
190
- Scuttle
191
-
192
- Navigation | quadrant: top-right
193
- Star Charts | ring: Battle Ready, trend: stable
194
- Compass Calibration | ring: Sea Trials, trend: up
195
- New lodestone from Madagascar shows **30% better accuracy**.
196
- Sextant | ring: Battle Ready, trend: stable
197
- Treasure Maps | ring: Scouting, trend: new
198
- Celestial Tables | ring: Scouting, trend: new
199
-
200
- Armaments | quadrant: top-left
201
- Cannon Broadside | ring: Battle Ready, trend: stable
202
- Greek Fire | ring: Sea Trials, trend: new
203
- Chain Shot | ring: Sea Trials, trend: up
204
- Catapult | ring: Scuttle, trend: down
205
-
206
- Provisions | quadrant: bottom-left
207
- Salted Pork | ring: Battle Ready, trend: stable
208
- Citrus Rations | ring: Sea Trials, trend: up
209
- Reduced scurvy cases by **80%** in trial crews.
210
- Rum Distillation | ring: Scouting, trend: new
211
- Hardtack | ring: Scuttle, trend: down
212
- Barnacle Soup | ring: Scuttle, trend: down
213
-
214
- Morale | quadrant: bottom-right
215
- Shore Leave | ring: Battle Ready, trend: stable
216
- Sea Shanties | ring: Battle Ready, trend: up
217
- Parrot Companions | ring: Scouting, trend: new
218
- Plank Walking | ring: Scuttle, trend: down
219
- ```
@@ -1,229 +0,0 @@
1
- # Timeline
2
-
3
- ```dgmo
4
- timeline The Golden Age of Piracy (1716–1722)
5
- scale on
6
-
7
- tag Pirate alias p
8
- Blackbeard(red)
9
- Bonny & Rackham(purple)
10
- Roberts(blue)
11
-
12
- tag Outcome alias o
13
- Victory(green)
14
- Defeat(red)
15
- Uncertain(yellow) default
16
-
17
- tag Theatre alias t
18
- Caribbean(teal) default
19
- Atlantic(blue)
20
- Africa(orange)
21
-
22
- era 1716->1718 Nassau Republic
23
- era 1719->1722 Roberts Era
24
-
25
- marker 1718-07 Woodes Rogers arrives (orange)
26
- marker 1721-08 Roberts reaches peak (teal)
27
-
28
- 1716->1717 Sails under Hornigold | p: Blackbeard, o: Victory
29
- 1717-11->1718-06 Commands Queen Anne's Revenge | p: Blackbeard, o: Victory, t: Atlantic
30
- 1718-05 Blockades Charleston harbor | p: Blackbeard, o: Victory
31
- 1718-11-22 Killed at Ocracoke | p: Blackbeard, o: Defeat
32
- 1718->1719 Rackham builds crew in Nassau | p: Bonny & Rackham, o: Victory
33
- 1719-03->1720-10? Bonny & Rackham raid together | p: Bonny & Rackham
34
- 1720-11 Rackham hanged at Port Royal | p: Bonny & Rackham, o: Defeat
35
- 1719-06->1720 Raids West African coast | p: Roberts, o: Victory, t: Africa
36
- 1720->1722 Captures 400+ ships | p: Roberts, o: Victory, t: Atlantic
37
- 1722-02-10 Killed at Cape Lopez | p: Roberts, o: Defeat, t: Africa
38
- ```
39
-
40
- ## Syntax
41
-
42
- ```
43
- timeline Chart Title
44
- sort group
45
-
46
- era YYYY->YYYY Era Name
47
-
48
- marker YYYY-MM-DD Marker Label (color)
49
-
50
- [Group Name](color)
51
- YYYY->YYYY Span event description
52
- YYYY-MM-DD Point event description
53
- ```
54
-
55
- ## Metadata Keys
56
-
57
- | Key | Description | Required |
58
- | ----------- | ----------------------------------------------------------------------------------------------------- | -------- |
59
- | `chart` | Must be `timeline` | Yes |
60
- | `title` | Chart title displayed above the chart | No |
61
- | `sort` | Event ordering: `time` (default), `group`, `tag`, or `tag:GroupName` | No |
62
- | `swimlanes` | Show shaded backgrounds per group (boolean; `no-swimlanes` to disable). Works best with `sort group`. | No |
63
-
64
- ## Event Format
65
-
66
- ### Point Events
67
-
68
- A single date followed by a description:
69
-
70
- ```
71
- 1718-11-22 Killed at Ocracoke
72
- 1720-11 Rackham hanged at Port Royal
73
- ```
74
-
75
- ### Span Events
76
-
77
- A date range (start -> end) followed by a description:
78
-
79
- ```
80
- 1717-11->1718-06 Commands Queen Anne's Revenge
81
- 1720->1722 Captures 400+ ships
82
- ```
83
-
84
- ### Duration Events
85
-
86
- Instead of specifying an end date, you can use a duration:
87
-
88
- ```
89
- 2026-07-15->30d Film release window
90
- 2026-06-01->2w Festival run
91
- 2026-01->6m Award season
92
- 2026->2y Franchise arc
93
- ```
94
-
95
- Supported duration units:
96
-
97
- | Unit | Meaning |
98
- | ---- | ------- |
99
- | `d` | Days |
100
- | `w` | Weeks |
101
- | `m` | Months |
102
- | `y` | Years |
103
-
104
- Decimals are supported (up to 2 places):
105
-
106
- ```
107
- 2026-01->1.25y Fifteen months (1 year + 3 months)
108
- 2026-01->0.5y Half year (6 months)
109
- 2026-01-01->1.5m Six weeks (1 month + 15 days)
110
- ```
111
-
112
- The end date is calculated automatically and preserves the precision of the start date.
113
-
114
- ### Uncertain End Dates
115
-
116
- Use `->?` to indicate an uncertain or approximate end date. The bar will fade out over the last 20%:
117
-
118
- ```
119
- 2026-07-15->?3m Project Alpha
120
- 2026-01->?1.5y Long-term initiative
121
- ```
122
-
123
- This visually communicates that the end date is an estimate rather than a fixed deadline.
124
-
125
- ### Date Precision
126
-
127
- Dates support three levels of precision:
128
-
129
- - Year: `1718`
130
- - Year-Month: `1718-05`
131
- - Year-Month-Day: `1718-11-22`
132
-
133
- ## Eras
134
-
135
- Background shaded regions that span a time range:
136
-
137
- ```
138
- era 1716->1718 Nassau Republic
139
- era 1719->1722 Roberts Era
140
- ```
141
-
142
- ## Markers
143
-
144
- Notable moments displayed as a dashed vertical line with a diamond indicator:
145
-
146
- ```
147
- marker 1718-11-22 Blackbeard Killed (red)
148
- marker 1720-11 Trial at Port Royal (orange)
149
- ```
150
-
151
- Markers are not associated with groups and appear above all events. They're useful for highlighting key dates that span across all timeline tracks.
152
-
153
- ## Groups
154
-
155
- Use `[Group Name](color)` headers to organize events into colored tracks:
156
-
157
- ```
158
- [Blackbeard](red)
159
- 1716->1717 Sails under Hornigold
160
- 1718-11-22 Killed at Ocracoke
161
-
162
- [Roberts](blue)
163
- 1719-06->1720 Raids West African coast
164
- 1722-02-10 Killed at Cape Lopez
165
- ```
166
-
167
- ## Tag Groups
168
-
169
- Tag groups let you color and organize events by metadata categories like team, priority, or status — independent of the timeline's structural groups.
170
-
171
- ### Declaring Tag Groups
172
-
173
- ```
174
- tag Team
175
- Engineering(blue)
176
- Design(green)
177
- QA(orange)
178
- ```
179
-
180
- Each entry has a name and a color. You can add `default` to an entry to apply it to untagged events when the group is active:
181
-
182
- ```
183
- tag Priority
184
- High(red)
185
- Medium(yellow) default
186
- Low(gray)
187
- ```
188
-
189
- ### Tagging Events
190
-
191
- Add `| key: value` metadata after any event line:
192
-
193
- ```
194
- 2024-01->2024-06 Build API | Team: Engineering
195
- 2024-03->2024-05 UX Review | Team: Design, Priority: High
196
- ```
197
-
198
- Multiple tags can be separated by commas.
199
-
200
- ### Tag-Based Swimlanes
201
-
202
- Use `sort: tag` or `sort: tag:GroupName` to arrange events into swimlanes by tag value:
203
-
204
- ```dgmo
205
- timeline Project Roadmap
206
- sort tag:Team
207
-
208
- tag Team
209
- Engineering(blue)
210
- Design(green)
211
- QA(orange)
212
-
213
- tag Priority
214
- High(red)
215
- Medium(yellow)
216
- Low(gray)
217
-
218
- 2024-01->2024-06 Build API | Team: Engineering, Priority: High
219
- 2024-03->2024-05 UX Review | Team: Design, Priority: Medium
220
- 2024-04->2024-07 Integration Tests | Team: QA, Priority: High
221
- 2024-02->2024-04 Design System | Team: Design, Priority: Low
222
- ```
223
-
224
- - `sort tag` — uses the first declared tag group for swimlanes
225
- - `sort tag:GroupName` — uses a specific tag group (aliases work: `sort tag:t` resolves to `sort tag:Team`)
226
-
227
- ### Interactive Legend
228
-
229
- When tag groups are declared, a legend appears above the chart. Click a tag group pill to activate it — events are colored by that group's values. The swimlane tag group controls the spatial layout; the active tag group controls the coloring. These can be set independently.
@@ -1,81 +0,0 @@
1
- # Venn Diagram
2
-
3
- ```dgmo
4
- venn Pirate Skill Overlap
5
-
6
- Swordsmanship(red) alias sw
7
- Navigation(blue) alias nav
8
- Leadership(green) alias lead
9
-
10
- sw + nav Sea Raiders
11
- nav + lead Voyager Captains
12
- sw + lead Buccaneer Chiefs
13
- sw + nav + lead Legendary Pirates
14
- ```
15
-
16
- ## Syntax
17
-
18
- ```
19
- venn Chart Title
20
-
21
- <name>(<color>) alias <abbrev>
22
-
23
- <A> + <B> Label
24
- <A> + <B> + <C> Label
25
- ```
26
-
27
- ## Metadata Keys
28
-
29
- | Key | Description | Required |
30
- | ------- | --------------------------------------- | -------- |
31
- | `chart` | Must be `venn` | Yes |
32
- | `title` | Chart title displayed above the diagram | No |
33
-
34
- ## Sets
35
-
36
- Each set is defined as a name with an optional color and alias. 2 or 3 sets are supported.
37
-
38
- ```
39
- Swordsmanship(red) alias sw
40
- Navigation(blue) alias nav
41
- Leadership(green) alias lead
42
- ```
43
-
44
- ### Colors
45
-
46
- Colors can be specified in parentheses after the name:
47
-
48
- ```
49
- Math(blue) alias m
50
- Science(orange) alias s
51
- ```
52
-
53
- Supports named colors: `red`, `orange`, `yellow`, `green`, `blue`, `purple`, `teal`, `cyan`, `gray`.
54
-
55
- ### Aliases
56
-
57
- Use `alias` to define a short name for intersections:
58
-
59
- ```
60
- Swordsmanship(red) alias sw
61
- Navigation(blue) alias nav
62
- ```
63
-
64
- The alias (`sw`, `nav`) is used when defining intersections. The full name is shown in the diagram.
65
-
66
- ## Intersections
67
-
68
- Intersection lines use `+` to reference two or three sets by alias, followed by a label:
69
-
70
- ```
71
- sw + nav Sea Raiders
72
- nav + lead Voyager Captains
73
- sw + nav + lead Legendary Pirates
74
- ```
75
-
76
- - The label follows the last set reference (no colon)
77
- - Set references use the alias, not the full name
78
-
79
- ## Constraints
80
-
81
- - Minimum 2 sets, maximum 3 sets