@diagrammo/dgmo 0.8.22 → 0.8.25
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/commands/dgmo.md +60 -72
- package/dist/cli.cjs +123 -116
- package/dist/editor.cjs +3 -2
- package/dist/editor.cjs.map +1 -1
- package/dist/editor.js +3 -2
- package/dist/editor.js.map +1 -1
- package/dist/highlight.cjs +3 -2
- package/dist/highlight.cjs.map +1 -1
- package/dist/highlight.js +3 -2
- package/dist/highlight.js.map +1 -1
- package/dist/index.cjs +1649 -442
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +196 -23
- package/dist/index.d.ts +196 -23
- package/dist/index.js +1631 -440
- package/dist/index.js.map +1 -1
- package/dist/internal.cjs +677 -0
- package/dist/internal.cjs.map +1 -0
- package/dist/internal.d.cts +267 -0
- package/dist/internal.d.ts +267 -0
- package/dist/internal.js +633 -0
- package/dist/internal.js.map +1 -0
- package/docs/guide/chart-area.md +17 -17
- package/docs/guide/chart-bar-stacked.md +12 -12
- package/docs/guide/chart-cycle.md +156 -0
- package/docs/guide/chart-doughnut.md +10 -10
- package/docs/guide/chart-funnel.md +9 -9
- package/docs/guide/chart-heatmap.md +10 -10
- package/docs/guide/chart-journey-map.md +179 -0
- package/docs/guide/chart-kanban.md +2 -0
- package/docs/guide/chart-line.md +19 -19
- package/docs/guide/chart-multi-line.md +16 -16
- package/docs/guide/chart-pie.md +11 -11
- package/docs/guide/chart-polar-area.md +10 -10
- package/docs/guide/chart-pyramid.md +111 -0
- package/docs/guide/chart-radar.md +9 -9
- package/docs/guide/chart-scatter.md +24 -27
- package/docs/guide/index.md +3 -3
- package/docs/guide/registry.json +5 -0
- package/docs/language-reference.md +108 -26
- package/fonts/Inter-Bold.ttf +0 -0
- package/fonts/Inter-Regular.ttf +0 -0
- package/fonts/LICENSE-Inter.txt +92 -0
- package/gallery/fixtures/bar-stacked.dgmo +12 -6
- package/gallery/fixtures/heatmap.dgmo +12 -6
- package/gallery/fixtures/multi-line.dgmo +11 -7
- package/gallery/fixtures/pyramid/dikw.dgmo +17 -0
- package/gallery/fixtures/pyramid/inverted-funnel.dgmo +16 -0
- package/gallery/fixtures/pyramid/minimal.dgmo +5 -0
- package/gallery/fixtures/quadrant.dgmo +8 -8
- package/gallery/fixtures/scatter.dgmo +12 -12
- package/package.json +14 -2
- package/src/boxes-and-lines/parser.ts +13 -2
- package/src/boxes-and-lines/renderer.ts +22 -13
- package/src/chart-type-scoring.ts +162 -0
- package/src/chart-types.ts +437 -0
- package/src/cli.ts +152 -101
- package/src/completion.ts +9 -48
- package/src/cycle/layout.ts +19 -28
- package/src/cycle/renderer.ts +59 -32
- package/src/cycle/types.ts +21 -0
- package/src/d3.ts +30 -3
- package/src/dgmo-router.ts +98 -73
- package/src/echarts.ts +1 -1
- package/src/editor/keywords.ts +3 -2
- package/src/fonts.ts +3 -2
- package/src/gantt/parser.ts +5 -1
- package/src/index.ts +37 -3
- package/src/infra/parser.ts +3 -3
- package/src/internal.ts +20 -0
- package/src/journey-map/layout.ts +7 -3
- package/src/journey-map/parser.ts +5 -1
- package/src/journey-map/renderer.ts +112 -47
- package/src/kanban/parser.ts +5 -1
- package/src/org/collapse.ts +82 -4
- package/src/org/parser.ts +1 -1
- package/src/org/renderer.ts +221 -4
- package/src/pyramid/parser.ts +172 -0
- package/src/pyramid/renderer.ts +684 -0
- package/src/pyramid/types.ts +28 -0
- package/src/render.ts +2 -8
- package/src/sequence/parser.ts +64 -22
- package/src/sequence/participant-inference.ts +0 -1
- package/src/sequence/renderer.ts +97 -265
- package/src/sharing.ts +0 -1
- package/src/sitemap/parser.ts +1 -1
- package/src/tech-radar/interactive.ts +54 -0
- package/src/utils/parsing.ts +1 -0
- package/src/utils/tag-groups.ts +35 -5
- package/src/wireframe/parser.ts +3 -1
package/docs/guide/chart-area.md
CHANGED
|
@@ -8,12 +8,12 @@ x-label Year
|
|
|
8
8
|
era 1710 -> 1716 Rise (green)
|
|
9
9
|
era 1716 -> 1720 Decline (red)
|
|
10
10
|
|
|
11
|
-
1710
|
|
12
|
-
1712
|
|
13
|
-
1714
|
|
14
|
-
1716
|
|
15
|
-
1718
|
|
16
|
-
1720
|
|
11
|
+
1710 3
|
|
12
|
+
1712 5
|
|
13
|
+
1714 9
|
|
14
|
+
1716 14
|
|
15
|
+
1718 8
|
|
16
|
+
1720 4
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
## Syntax
|
|
@@ -24,7 +24,7 @@ series Series Name
|
|
|
24
24
|
x-label X Axis Label
|
|
25
25
|
y-label Y Axis Label
|
|
26
26
|
|
|
27
|
-
Label
|
|
27
|
+
Label value
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Era Bands
|
|
@@ -38,12 +38,12 @@ x-label Year
|
|
|
38
38
|
era 1710 -> 1714 Early Growth (blue)
|
|
39
39
|
era 1714 -> 1720 Decline (red)
|
|
40
40
|
|
|
41
|
-
1710
|
|
42
|
-
1712
|
|
43
|
-
1714
|
|
44
|
-
1716
|
|
45
|
-
1718
|
|
46
|
-
1720
|
|
41
|
+
1710 3
|
|
42
|
+
1712 5
|
|
43
|
+
1714 9
|
|
44
|
+
1716 14
|
|
45
|
+
1718 8
|
|
46
|
+
1720 4
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
Era syntax: `era <start> -> <end> Label (color)`
|
|
@@ -64,10 +64,10 @@ Era syntax: `era <start> -> <end> Label (color)`
|
|
|
64
64
|
|
|
65
65
|
## Data Format
|
|
66
66
|
|
|
67
|
-
Each data line follows the pattern `Label
|
|
67
|
+
Each data line follows the pattern `Label value`:
|
|
68
68
|
|
|
69
69
|
```
|
|
70
|
-
1710
|
|
71
|
-
1712
|
|
72
|
-
1714
|
|
70
|
+
1710 3
|
|
71
|
+
1712 5
|
|
72
|
+
1714 9
|
|
73
73
|
```
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
bar-stacked Cargo by Voyage
|
|
5
5
|
series Rum, Spices, Silk, Gold
|
|
6
6
|
|
|
7
|
-
Voyage 1 40
|
|
8
|
-
Voyage 2 25
|
|
9
|
-
Voyage 3 15
|
|
10
|
-
Voyage 4 30
|
|
7
|
+
Voyage 1 40 20 10 30
|
|
8
|
+
Voyage 2 25 35 20 20
|
|
9
|
+
Voyage 3 15 10 45 30
|
|
10
|
+
Voyage 4 30 25 15 30
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Syntax
|
|
@@ -16,7 +16,7 @@ Voyage 4 30, 25, 15, 30
|
|
|
16
16
|
bar-stacked Chart Title
|
|
17
17
|
series Series1, Series2, Series3
|
|
18
18
|
|
|
19
|
-
Label value1
|
|
19
|
+
Label value1 value2 value3
|
|
20
20
|
```
|
|
21
21
|
|
|
22
22
|
## Metadata Keys
|
|
@@ -30,11 +30,11 @@ Label value1, value2, value3
|
|
|
30
30
|
|
|
31
31
|
## Data Format
|
|
32
32
|
|
|
33
|
-
Each data line provides
|
|
33
|
+
Each data line provides space-separated values matching the series order:
|
|
34
34
|
|
|
35
35
|
```
|
|
36
|
-
Voyage 1 40
|
|
37
|
-
Voyage 2 25
|
|
36
|
+
Voyage 1 40 20 10 30
|
|
37
|
+
Voyage 2 25 35 20 20
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
## Series Colors
|
|
@@ -54,8 +54,8 @@ bar-stacked Port Revenue by Trade
|
|
|
54
54
|
orientation-horizontal
|
|
55
55
|
series Imports(blue), Exports(green), Tariffs(orange)
|
|
56
56
|
|
|
57
|
-
Port Royal 300
|
|
58
|
-
Tortuga 150
|
|
59
|
-
Nassau 400
|
|
60
|
-
Havana 500
|
|
57
|
+
Port Royal 300 450 80
|
|
58
|
+
Tortuga 150 200 30
|
|
59
|
+
Nassau 400 350 120
|
|
60
|
+
Havana 500 600 150
|
|
61
61
|
```
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Cycle Diagram
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
cycle OODA Loop
|
|
5
|
+
|
|
6
|
+
Observe | color: blue
|
|
7
|
+
Gather raw information from the environment
|
|
8
|
+
Monitor unfolding circumstances
|
|
9
|
+
-Unfold circumstances-> | color: blue
|
|
10
|
+
|
|
11
|
+
Orient | color: green
|
|
12
|
+
Analyze and synthesize observations
|
|
13
|
+
Form a mental model of the situation
|
|
14
|
+
-Form hypothesis-> | color: green
|
|
15
|
+
|
|
16
|
+
Decide | color: orange
|
|
17
|
+
Select a course of action
|
|
18
|
+
-Commit to action-> | color: orange
|
|
19
|
+
|
|
20
|
+
Act | color: red
|
|
21
|
+
Execute the chosen course of action
|
|
22
|
+
Generate results that feed back
|
|
23
|
+
-Generate feedback-> | color: red
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
Cycle diagrams show a circular process flow where nodes are arranged on a circle and directed edges connect each to the next, with the last wrapping back to the first. They are ideal for OODA loops, PDCA cycles, product lifecycles, continuous improvement processes, and any workflow that repeats.
|
|
29
|
+
|
|
30
|
+
## Syntax
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
cycle Title
|
|
34
|
+
|
|
35
|
+
NodeLabel
|
|
36
|
+
NodeLabel | color: blue, span: 2
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The first line declares the chart type and title. Each top-level line declares a node. Nodes are positioned around a circle in declaration order.
|
|
40
|
+
|
|
41
|
+
## Nodes
|
|
42
|
+
|
|
43
|
+
Every non-indented, non-directive line is a node:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
cycle Seasons
|
|
47
|
+
|
|
48
|
+
Spring | color: green
|
|
49
|
+
Summer | color: yellow
|
|
50
|
+
Autumn | color: orange
|
|
51
|
+
Winter | color: blue
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Node Pipe Metadata
|
|
55
|
+
|
|
56
|
+
| Key | Type | Default | Description |
|
|
57
|
+
|-----|------|---------|-------------|
|
|
58
|
+
| `color` | palette name | auto | Node fill color |
|
|
59
|
+
| `span` | positive number | `1` | Relative arc distance to next node |
|
|
60
|
+
| `description` | string | — | One-liner shown below the label |
|
|
61
|
+
|
|
62
|
+
### Descriptions
|
|
63
|
+
|
|
64
|
+
Indented lines under a node add description text. Markdown inline formatting is supported (`**bold**`, `*italic*`, `` `code` ``, `[links](url)`). Bullet points with `- item` render as `• item`.
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
Observe | color: blue
|
|
68
|
+
Gather raw information from the environment
|
|
69
|
+
Monitor unfolding circumstances
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If both `| description: text` and indented lines exist, they concatenate (pipe first, then indented).
|
|
73
|
+
|
|
74
|
+
## Edges
|
|
75
|
+
|
|
76
|
+
Edges are **implicit** — every node connects to the next, with the last wrapping to the first. The `->` syntax annotates edges with labels, descriptions, and styling:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Observe | color: blue
|
|
80
|
+
-Unfold circumstances-> | color: blue
|
|
81
|
+
Synthesize raw data into context
|
|
82
|
+
|
|
83
|
+
Orient | color: green
|
|
84
|
+
-> | width: 4
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Edge lines are indented under their source node. A label goes between `-` and `->`. Pipe metadata supports `color` and `width`.
|
|
88
|
+
|
|
89
|
+
### Edge Descriptions
|
|
90
|
+
|
|
91
|
+
Indented lines under an edge line add description text:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
Observe
|
|
95
|
+
-Analyze->
|
|
96
|
+
Break down observations into components
|
|
97
|
+
Identify **key patterns**
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Span
|
|
101
|
+
|
|
102
|
+
The `span` metadata controls relative arc distance between nodes. A node with `span: 2` gets twice the arc space to the next node:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
cycle Weighted Process
|
|
106
|
+
|
|
107
|
+
Important Step | span: 2
|
|
108
|
+
Quick Step
|
|
109
|
+
Another Step | span: 1.5
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Directives
|
|
113
|
+
|
|
114
|
+
| Directive | Effect |
|
|
115
|
+
|-----------|--------|
|
|
116
|
+
| `direction-counterclockwise` | Reverse cycle direction (default: clockwise) |
|
|
117
|
+
| `hide-descriptions` | Hide description text on all nodes and edges |
|
|
118
|
+
| `circle-nodes` | Render nodes as circles instead of rounded rectangles |
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
cycle Simple Loop
|
|
122
|
+
|
|
123
|
+
direction-counterclockwise
|
|
124
|
+
|
|
125
|
+
Plan
|
|
126
|
+
Do
|
|
127
|
+
Check
|
|
128
|
+
Act
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Complete Example
|
|
132
|
+
|
|
133
|
+
```dgmo
|
|
134
|
+
cycle PDCA Continuous Improvement
|
|
135
|
+
|
|
136
|
+
Plan | color: blue, span: 1.5
|
|
137
|
+
Define objectives and processes
|
|
138
|
+
Establish expected outcomes
|
|
139
|
+
-Start implementation->
|
|
140
|
+
|
|
141
|
+
Do | color: green
|
|
142
|
+
Execute the plan on a small scale
|
|
143
|
+
Collect data for analysis
|
|
144
|
+
-Gather results->
|
|
145
|
+
|
|
146
|
+
Check | color: orange
|
|
147
|
+
Compare results against expectations
|
|
148
|
+
Identify deviations and root causes
|
|
149
|
+
-Propose changes-> | color: orange
|
|
150
|
+
|
|
151
|
+
Act | color: red
|
|
152
|
+
Standardize successful changes
|
|
153
|
+
Address remaining gaps
|
|
154
|
+
-Feed back into planning-> | color: red
|
|
155
|
+
Begin the next improvement cycle
|
|
156
|
+
```
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
```dgmo
|
|
4
4
|
doughnut Plunder Distribution
|
|
5
5
|
|
|
6
|
-
Captain's Share
|
|
7
|
-
Quartermaster
|
|
8
|
-
Crew Split
|
|
9
|
-
Ship Repairs
|
|
10
|
-
Provisions
|
|
6
|
+
Captain's Share 40
|
|
7
|
+
Quartermaster 20
|
|
8
|
+
Crew Split 25
|
|
9
|
+
Ship Repairs 10
|
|
10
|
+
Provisions 5
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Syntax
|
|
@@ -15,7 +15,7 @@ Provisions: 5
|
|
|
15
15
|
```
|
|
16
16
|
doughnut Chart Title
|
|
17
17
|
|
|
18
|
-
Label
|
|
18
|
+
Label value
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Metadata Keys
|
|
@@ -27,12 +27,12 @@ Label: value
|
|
|
27
27
|
|
|
28
28
|
## Data Format
|
|
29
29
|
|
|
30
|
-
Each data line follows the pattern `Label
|
|
30
|
+
Each data line follows the pattern `Label value`:
|
|
31
31
|
|
|
32
32
|
```
|
|
33
|
-
Captain's Share
|
|
34
|
-
Quartermaster
|
|
35
|
-
Crew Split
|
|
33
|
+
Captain's Share 40
|
|
34
|
+
Quartermaster 20
|
|
35
|
+
Crew Split 25
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Segments are automatically colored using the Nord palette.
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
```dgmo
|
|
4
4
|
funnel Pirate Recruitment Pipeline
|
|
5
5
|
|
|
6
|
-
Port Visitors
|
|
7
|
-
Tavern Recruits
|
|
8
|
-
Crew Trials
|
|
9
|
-
Sworn Pirates
|
|
10
|
-
Veteran Buccaneers
|
|
6
|
+
Port Visitors 1000
|
|
7
|
+
Tavern Recruits 500
|
|
8
|
+
Crew Trials 200
|
|
9
|
+
Sworn Pirates 100
|
|
10
|
+
Veteran Buccaneers 50
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
## Syntax
|
|
@@ -15,7 +15,7 @@ Veteran Buccaneers: 50
|
|
|
15
15
|
```
|
|
16
16
|
funnel Chart Title
|
|
17
17
|
|
|
18
|
-
Label
|
|
18
|
+
Label value
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Metadata Keys
|
|
@@ -30,9 +30,9 @@ Label: value
|
|
|
30
30
|
Each data line defines a stage with its value. Stages are displayed top-to-bottom with widths proportional to their values:
|
|
31
31
|
|
|
32
32
|
```
|
|
33
|
-
Visitors
|
|
34
|
-
Signups
|
|
35
|
-
Purchases
|
|
33
|
+
Visitors 1000
|
|
34
|
+
Signups 500
|
|
35
|
+
Purchases 100
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
List stages from largest to smallest for a classic funnel shape.
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
heatmap Pirate Activity by Sea Region
|
|
5
5
|
columns Jan, Feb, Mar, Apr, May, Jun
|
|
6
6
|
|
|
7
|
-
Caribbean
|
|
8
|
-
Atlantic
|
|
9
|
-
Mediterranean
|
|
10
|
-
Indian Ocean
|
|
11
|
-
South China Sea
|
|
12
|
-
West Africa
|
|
7
|
+
Caribbean 5 4 5 3 4 5
|
|
8
|
+
Atlantic 2 3 2 4 3 2
|
|
9
|
+
Mediterranean 3 2 1 2 3 4
|
|
10
|
+
Indian Ocean 4 5 4 5 4 3
|
|
11
|
+
South China Sea 1 2 3 2 1 2
|
|
12
|
+
West Africa 3 3 4 3 5 4
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Syntax
|
|
@@ -18,7 +18,7 @@ West Africa: 3, 3, 4, 3, 5, 4
|
|
|
18
18
|
heatmap Chart Title
|
|
19
19
|
columns Col1, Col2, Col3
|
|
20
20
|
|
|
21
|
-
Row Label
|
|
21
|
+
Row Label value1 value2 value3
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
## Metadata Keys
|
|
@@ -31,11 +31,11 @@ Row Label: value1, value2, value3
|
|
|
31
31
|
|
|
32
32
|
## Data Format
|
|
33
33
|
|
|
34
|
-
Each data line defines a row with
|
|
34
|
+
Each data line defines a row with space-separated values matching the column count:
|
|
35
35
|
|
|
36
36
|
```
|
|
37
|
-
Caribbean
|
|
38
|
-
Atlantic
|
|
37
|
+
Caribbean 5 4 5 3 4 5
|
|
38
|
+
Atlantic 2 3 2 4 3 2
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
The row label becomes the Y axis label. Cell colors are scaled automatically based on value range.
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Journey Map
|
|
2
|
+
|
|
3
|
+
```dgmo
|
|
4
|
+
journey-map Coffee Shop Visit
|
|
5
|
+
|
|
6
|
+
[Order]
|
|
7
|
+
Walk in | 4
|
|
8
|
+
Wait in line | 2
|
|
9
|
+
Order drink | 4
|
|
10
|
+
|
|
11
|
+
[Wait]
|
|
12
|
+
Find a seat | 3
|
|
13
|
+
Wait for drink | 2
|
|
14
|
+
|
|
15
|
+
[Enjoy]
|
|
16
|
+
Get drink | 5
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Journey maps visualize a user's experience across a process or service, plotting emotional highs and lows as a continuous curve. Each step has a score (1–5, high is good) that drives the emotion landscape. Phases group related steps, annotations capture pain points, opportunities, and thoughts, and tags add cross-cutting dimensions like channel or touchpoint.
|
|
22
|
+
|
|
23
|
+
Journey maps are ideal for UX research, customer experience mapping, service design, and identifying friction points.
|
|
24
|
+
|
|
25
|
+
## Syntax
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
journey-map Title
|
|
29
|
+
|
|
30
|
+
persona Name
|
|
31
|
+
|
|
32
|
+
[Phase Name]
|
|
33
|
+
Step Name | score
|
|
34
|
+
Step Name | score Emotion
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The first line must be `journey-map` followed by a title. Phases use bracket syntax at indent 0. Steps are indented within phases.
|
|
38
|
+
|
|
39
|
+
## Persona
|
|
40
|
+
|
|
41
|
+
Declares the journey's protagonist:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
persona Tech-Savvy Shopper
|
|
45
|
+
28yo developer, price-sensitive, does extensive research
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Name is everything after `persona `. Indented lines add description text. Only one persona per diagram.
|
|
49
|
+
|
|
50
|
+
## Phases
|
|
51
|
+
|
|
52
|
+
Phases group steps into logical stages:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
[Research]
|
|
56
|
+
Compare specs | 4
|
|
57
|
+
Watch reviews | 5
|
|
58
|
+
|
|
59
|
+
[Purchase]
|
|
60
|
+
Add to cart | 3
|
|
61
|
+
Complete payment | 3
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Phases are optional — steps can appear at root level for a flat continuous flow.
|
|
65
|
+
|
|
66
|
+
## Steps
|
|
67
|
+
|
|
68
|
+
Steps appear indented within phases (or at indent 0 in flat mode).
|
|
69
|
+
|
|
70
|
+
### Score Syntax
|
|
71
|
+
|
|
72
|
+
The score goes in the pipe, separating step name from data:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Step Name | 4 // bare score
|
|
76
|
+
Step Name | 4 Delighted // score + emotion label
|
|
77
|
+
Step Name | 4, ch: Web // score + tag metadata
|
|
78
|
+
Step Name | 4 Delighted, ch: Web // score + label + metadata
|
|
79
|
+
Step Name | score: 4, ch: Web // explicit score key
|
|
80
|
+
Step Name // no pipe = scoreless step
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- **Score scale**: 1–5 integer (high = good)
|
|
84
|
+
- **Emotion label**: optional single word after the score (e.g., `Frustrated`, `Delighted`, `Neutral`)
|
|
85
|
+
- **Scoreless steps**: render as cards but produce no emotion curve point
|
|
86
|
+
|
|
87
|
+
## Annotations
|
|
88
|
+
|
|
89
|
+
Deeper-indented lines under a step add context:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Forced account creation | 1 Frustrated
|
|
93
|
+
pain: Wants guest checkout
|
|
94
|
+
opportunity: Add guest checkout option
|
|
95
|
+
thought: Why do I need an account?
|
|
96
|
+
description: User abandoned cart twice
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
| Prefix | Rendering |
|
|
100
|
+
|--------|-----------|
|
|
101
|
+
| `pain:` | Pain point (red accent) |
|
|
102
|
+
| `opportunity:` | Improvement opportunity (green accent) |
|
|
103
|
+
| `thought:` | User thought (italic) |
|
|
104
|
+
| `description:` | General context text |
|
|
105
|
+
|
|
106
|
+
Multiple annotations per step are allowed.
|
|
107
|
+
|
|
108
|
+
## Tag Groups
|
|
109
|
+
|
|
110
|
+
Tags add color-coded dimensions like channel or touchpoint:
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
tag Channel ch
|
|
114
|
+
Web(blue)
|
|
115
|
+
Mobile(purple)
|
|
116
|
+
In-Person(green)
|
|
117
|
+
|
|
118
|
+
[Research]
|
|
119
|
+
Compare specs | 4, ch: Web
|
|
120
|
+
Ask friends | 4, ch: In-Person
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Reference tag values in step pipes via the alias.
|
|
124
|
+
|
|
125
|
+
## Flat Mode
|
|
126
|
+
|
|
127
|
+
Steps at root level (no `[Phase]` brackets) render as a continuous horizontal strip:
|
|
128
|
+
|
|
129
|
+
```dgmo
|
|
130
|
+
journey-map Quick Feedback
|
|
131
|
+
|
|
132
|
+
Opened app | 4
|
|
133
|
+
Searched for feature | 3
|
|
134
|
+
Hit error | 1 Frustrated
|
|
135
|
+
pain: No helpful error message
|
|
136
|
+
Contacted support | 2
|
|
137
|
+
Got resolution | 5 Relieved
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Directives
|
|
141
|
+
|
|
142
|
+
| Directive | Effect |
|
|
143
|
+
|-----------|--------|
|
|
144
|
+
| `no-legend` | Hide the score legend |
|
|
145
|
+
| `active-tag GroupName` | Set the active tag group for coloring |
|
|
146
|
+
|
|
147
|
+
## Complete Example
|
|
148
|
+
|
|
149
|
+
```dgmo
|
|
150
|
+
journey-map Buying a Laptop
|
|
151
|
+
|
|
152
|
+
persona Tech-Savvy Shopper
|
|
153
|
+
28yo developer, price-sensitive, does extensive research
|
|
154
|
+
|
|
155
|
+
tag Channel ch
|
|
156
|
+
Web(blue)
|
|
157
|
+
Mobile(purple)
|
|
158
|
+
Email(teal)
|
|
159
|
+
In-Person(green)
|
|
160
|
+
|
|
161
|
+
[Research]
|
|
162
|
+
Compare specs | 4, ch: Web
|
|
163
|
+
description: Checked 12 laptops across 4 review sites
|
|
164
|
+
Watch reviews | 5 Engaged, ch: Mobile
|
|
165
|
+
Ask friends | 4, ch: In-Person
|
|
166
|
+
|
|
167
|
+
[Purchase]
|
|
168
|
+
Add to cart | 3, ch: Web
|
|
169
|
+
Forced account creation | 1 Frustrated, ch: Web
|
|
170
|
+
pain: Wants guest checkout
|
|
171
|
+
pain: Password requirements too strict
|
|
172
|
+
Complete payment | 3, ch: Web
|
|
173
|
+
|
|
174
|
+
[Delivery]
|
|
175
|
+
Track package | 4, ch: Mobile
|
|
176
|
+
Unboxing | 5 Delighted, ch: In-Person
|
|
177
|
+
opportunity: Include setup guide
|
|
178
|
+
thought: Excited to try it out
|
|
179
|
+
```
|
|
@@ -59,6 +59,8 @@ Card Title | key: Value, key: Value
|
|
|
59
59
|
|
|
60
60
|
Columns are defined with `[Column Name]` syntax. All cards between one column header and the next belong to that column.
|
|
61
61
|
|
|
62
|
+
Kanban columns model a workflow pipeline. Cards move left to right as work progresses. Each column should answer "what stage is this work in?" If something isn't a stage — like acceptance criteria, decision gates, or definitions of done — model it as a tag on cards rather than a separate column.
|
|
63
|
+
|
|
62
64
|
```
|
|
63
65
|
[To Do]
|
|
64
66
|
[In Progress]
|
package/docs/guide/chart-line.md
CHANGED
|
@@ -9,13 +9,13 @@ y-label Speed
|
|
|
9
9
|
era Day 1 -> Day 3 Rough Seas (red)
|
|
10
10
|
era Day 3 -> Day 7 Fair Winds (blue)
|
|
11
11
|
|
|
12
|
-
Day 1
|
|
13
|
-
Day 2
|
|
14
|
-
Day 3
|
|
15
|
-
Day 4
|
|
16
|
-
Day 5
|
|
17
|
-
Day 6
|
|
18
|
-
Day 7
|
|
12
|
+
Day 1 8
|
|
13
|
+
Day 2 10
|
|
14
|
+
Day 3 7
|
|
15
|
+
Day 4 12
|
|
16
|
+
Day 5 9
|
|
17
|
+
Day 6 11
|
|
18
|
+
Day 7 6
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Syntax
|
|
@@ -26,7 +26,7 @@ series Series Name
|
|
|
26
26
|
x-label X Axis Label
|
|
27
27
|
y-label Y Axis Label
|
|
28
28
|
|
|
29
|
-
Label
|
|
29
|
+
Label value
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Era Bands
|
|
@@ -41,13 +41,13 @@ era '77 -> '81 Carter (blue)
|
|
|
41
41
|
era '81 -> '89 Reagan (red)
|
|
42
42
|
era '89 -> '93 Bush (red)
|
|
43
43
|
|
|
44
|
-
'77
|
|
45
|
-
'78
|
|
46
|
-
'79
|
|
47
|
-
'80
|
|
48
|
-
'81
|
|
49
|
-
'82
|
|
50
|
-
'83
|
|
44
|
+
'77 7
|
|
45
|
+
'78 67
|
|
46
|
+
'79 91
|
|
47
|
+
'80 108
|
|
48
|
+
'81 230
|
|
49
|
+
'82 294
|
|
50
|
+
'83 379
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Era syntax: `era <start> -> <end> Label (color)`
|
|
@@ -70,10 +70,10 @@ Era syntax: `era <start> -> <end> Label (color)`
|
|
|
70
70
|
|
|
71
71
|
## Data Format
|
|
72
72
|
|
|
73
|
-
Each data line follows the pattern `Label
|
|
73
|
+
Each data line follows the pattern `Label value`:
|
|
74
74
|
|
|
75
75
|
```
|
|
76
|
-
Day 1
|
|
77
|
-
Day 2
|
|
78
|
-
Day 3
|
|
76
|
+
Day 1 8
|
|
77
|
+
Day 2 10
|
|
78
|
+
Day 3 7
|
|
79
79
|
```
|
|
@@ -9,12 +9,12 @@ x-label Month
|
|
|
9
9
|
era Jan -> Mar Atlantic Season
|
|
10
10
|
era Mar -> Jun Caribbean Season (teal)
|
|
11
11
|
|
|
12
|
-
Jan
|
|
13
|
-
Feb
|
|
14
|
-
Mar
|
|
15
|
-
Apr
|
|
16
|
-
May
|
|
17
|
-
Jun
|
|
12
|
+
Jan 3 5 2
|
|
13
|
+
Feb 4 3 4
|
|
14
|
+
Mar 2 7 3
|
|
15
|
+
Apr 6 4 1
|
|
16
|
+
May 5 6 5
|
|
17
|
+
Jun 3 8 2
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
## Syntax
|
|
@@ -24,7 +24,7 @@ line Chart Title
|
|
|
24
24
|
series Series1(color), Series2(color), Series3(color)
|
|
25
25
|
x-label X Axis Label
|
|
26
26
|
|
|
27
|
-
Label
|
|
27
|
+
Label value1 value2 value3
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Metadata Keys
|
|
@@ -39,11 +39,11 @@ Label: value1, value2, value3
|
|
|
39
39
|
|
|
40
40
|
## Data Format
|
|
41
41
|
|
|
42
|
-
Each data line provides
|
|
42
|
+
Each data line provides space-separated values matching the series order:
|
|
43
43
|
|
|
44
44
|
```
|
|
45
|
-
Jan
|
|
46
|
-
Feb
|
|
45
|
+
Jan 3 5 2
|
|
46
|
+
Feb 4 3 4
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
The number of values per line must match the number of series names.
|
|
@@ -60,12 +60,12 @@ x-label Month
|
|
|
60
60
|
era Jan -> Mar Q1 (green)
|
|
61
61
|
era Apr -> Jun Q2 (orange)
|
|
62
62
|
|
|
63
|
-
Jan
|
|
64
|
-
Feb
|
|
65
|
-
Mar
|
|
66
|
-
Apr
|
|
67
|
-
May
|
|
68
|
-
Jun
|
|
63
|
+
Jan 3 5
|
|
64
|
+
Feb 4 3
|
|
65
|
+
Mar 2 7
|
|
66
|
+
Apr 6 4
|
|
67
|
+
May 5 6
|
|
68
|
+
Jun 3 8
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
Era syntax: `era <start> -> <end> Label (color)`
|