@topmindspace/tms-skills 0.1.0 → 0.1.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.
- package/CHANGELOG.md +76 -0
- package/README.md +9 -3
- package/bin/tms-skills.js +200 -160
- package/package.json +12 -9
- package/top-ppt-html/README.md +162 -254
- package/top-ppt-html/SKILL.md +126 -111
- package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.html +3926 -3926
- package/top-ppt-html/assets/examples/2026-09-09-architecture-graphite-dark.model.json +167 -167
- package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.html +4325 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-business-blue.model.json +320 -320
- package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.html +5527 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-mckinsey.model.json +913 -913
- package/top-ppt-html/assets/pptx-export.js +1944 -1944
- package/top-ppt-html/assets/style-gallery.html +589 -589
- package/top-ppt-html/assets/templates/architecture.html +3728 -3728
- package/top-ppt-html/assets/templates/engine.css +840 -840
- package/top-ppt-html/assets/templates/presentation.html +3738 -3738
- package/top-ppt-html/assets/templates/research.html +4017 -4017
- package/top-ppt-html/assets/templates/ui.js +520 -520
- package/top-ppt-html/assets/theme-overview-architecture.png +0 -0
- package/top-ppt-html/assets/theme-overview-research.png +0 -0
- package/top-ppt-html/assets/theme-overview.png +0 -0
- package/top-ppt-html/evals/prompts.csv +15 -15
- package/top-ppt-html/evals/rubric.schema.json +25 -25
- package/top-ppt-html/evals/run_evals.py +220 -220
- package/top-ppt-html/evals/trace.example.json +16 -16
- package/top-ppt-html/package-lock.json +186 -0
- package/top-ppt-html/package.json +11 -11
- package/top-ppt-html/references/charts-basic.md +624 -624
- package/top-ppt-html/references/charts-discipline.md +110 -108
- package/top-ppt-html/references/charts-extended.md +482 -482
- package/top-ppt-html/references/charts.md +37 -28
- package/top-ppt-html/references/components-atoms.md +624 -624
- package/top-ppt-html/references/components.md +30 -30
- package/top-ppt-html/references/content-rules.md +510 -490
- package/top-ppt-html/references/default-surface.md +61 -0
- package/top-ppt-html/references/design-system.md +478 -478
- package/top-ppt-html/references/failure-modes.md +227 -214
- package/top-ppt-html/references/high-fidelity.md +127 -127
- package/top-ppt-html/references/icons.md +176 -397
- package/top-ppt-html/references/infographics-stats.md +308 -308
- package/top-ppt-html/references/infographics-structure.md +226 -226
- package/top-ppt-html/references/infographics.md +43 -43
- package/top-ppt-html/references/layout-grammar.md +325 -315
- package/top-ppt-html/references/layouts-architecture.md +108 -108
- package/top-ppt-html/references/layouts-combo.md +600 -600
- package/top-ppt-html/references/layouts-research.md +160 -160
- package/top-ppt-html/references/modes.md +259 -254
- package/top-ppt-html/references/outline-design.md +275 -275
- package/top-ppt-html/references/playbook.md +284 -266
- package/top-ppt-html/references/pptx-export.md +227 -209
- package/top-ppt-html/references/presentation-craft.md +69 -0
- package/top-ppt-html/references/styles.md +370 -370
- package/top-ppt-html/references/tech-design.md +138 -138
- package/top-ppt-html/scripts/audit_css.py +109 -109
- package/top-ppt-html/scripts/audit_docs.py +176 -176
- package/top-ppt-html/scripts/audit_skill.py +231 -220
- package/top-ppt-html/scripts/audit_styles.py +351 -351
- package/top-ppt-html/scripts/build_examples.py +55 -2276
- package/top-ppt-html/scripts/build_pptx.js +2386 -2380
- package/top-ppt-html/scripts/capture_theme_overview.js +79 -78
- package/top-ppt-html/scripts/checks_html.py +166 -127
- package/top-ppt-html/scripts/cross_verify.py +298 -294
- package/top-ppt-html/scripts/env_probe.py +158 -158
- package/top-ppt-html/scripts/extract_model.py +210 -210
- package/top-ppt-html/scripts/extract_snippet.py +374 -374
- package/top-ppt-html/scripts/gen_channel_a.js +214 -214
- package/top-ppt-html/scripts/layout-constants.json +111 -18
- package/top-ppt-html/scripts/lib_layout_regions.js +410 -412
- package/top-ppt-html/scripts/measure_height.py +178 -178
- package/top-ppt-html/scripts/negative_tests.py +433 -307
- package/top-ppt-html/scripts/package_skill.py +294 -291
- package/top-ppt-html/scripts/prepare_images.py +341 -341
- package/top-ppt-html/scripts/probe_image_export.py +187 -188
- package/top-ppt-html/scripts/quality_gate.py +309 -301
- package/top-ppt-html/scripts/recommend_layout.py +384 -0
- package/top-ppt-html/scripts/regression.py +308 -308
- package/top-ppt-html/scripts/render_compare.py +275 -275
- package/top-ppt-html/scripts/render_from_model.py +698 -698
- package/top-ppt-html/scripts/scaffold_report.py +1054 -1054
- package/top-ppt-html/scripts/section-file-map.json +104 -104
- package/top-ppt-html/scripts/smoke_pptx.sh +30 -0
- package/top-ppt-html/scripts/sync_runtime.py +659 -662
- package/top-ppt-html/scripts/validate_pptx.py +1579 -1510
- package/top-ppt-html/scripts/validate_report.py +1755 -1456
- package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.html +0 -3926
- package/top-ppt-html/assets/examples/2026-09-09-architecture-spectrum.model.json +0 -168
- package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.html +0 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-apple-mono.model.json +0 -321
- package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.html +0 -4325
- package/top-ppt-html/assets/examples/2026-09-09-presentation-brand-red.model.json +0 -321
- package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-deep-teal.model.json +0 -914
- package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-indigo-violet.model.json +0 -914
- package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.html +0 -5527
- package/top-ppt-html/assets/examples/2026-09-09-research-warm-sand.model.json +0 -914
- package/top-ppt-html/assets/theme-overview-presentation.png +0 -0
- package/top-ppt-html/references/design-system-engine.md +0 -235
- package/top-ppt-html/references/industry-benchmark.md +0 -105
- package/top-ppt-html/references/reform-plan.md +0 -252
- package/top-ppt-html/scripts/layout_slots.json +0 -830
|
@@ -1,226 +1,226 @@
|
|
|
1
|
-
# 信息图 · 结构图形族(flow/tree/sequence/loop)
|
|
2
|
-
|
|
3
|
-
> 由 `infographics.md` 拆出(§编号不变)。流程图/层级树/时序图/闭环规范与写法 §78–§82。
|
|
4
|
-
> PPTX 映射为 `diagram` / `steps` 页型,分支写 `note`;不新增页型。
|
|
5
|
-
> 取码:`--file infographics.md --section 78` 等。
|
|
6
|
-
|
|
7
|
-
### 78. 流程图 `flow`(分支 / 判断 / 汇合 / 异常路径)
|
|
8
|
-
|
|
9
|
-
**用途**:业务流程、审批链路、决策路径、故障处置、运营 SOP。**上限:节点 ≤20 / 判断 ≤4 / 分支层级 ≤3。**
|
|
10
|
-
|
|
11
|
-
**画法规则**:
|
|
12
|
-
1. **形状语义**:动作 = 圆角矩形 `rx="10"`;判断 = 菱形 `<polygon>`;起止 = 胶囊 `rx="22"`;异常/失败路径 = 虚线 + 中性色。
|
|
13
|
-
2. **路由**:主线水平推进;分支向下或向上引出,**正交折线**(`M…V…H…`),不画斜线。
|
|
14
|
-
3. **分支标签**:在分支线中点上方标条件("是/否"、"≥80%"),字号 11、`f-txt3`。
|
|
15
|
-
4. **汇合**:多支路汇到同一节点时用一条竖向总线 + 逐支水平接入,避免斜线交叉。
|
|
16
|
-
5. **强调**:主路径 `f-acc` 实底 + `.t-on-inv` 文字;关键判断 `s-acc` 描边;异常路径 `f-s3` 底 + `s-txt3` 虚线。
|
|
17
|
-
6. **图例**:底部一行 chips 说明形状语义(动作 / 判断 / 异常)。
|
|
18
|
-
|
|
19
|
-
```html
|
|
20
|
-
<figure class="fig rv">
|
|
21
|
-
<svg viewBox="0 0 900 300" style="width:100%">
|
|
22
|
-
<!-- 主路径:起止 → 判断 → 动作 → 动作 → 完成 -->
|
|
23
|
-
<rect x="20" y="112" width="96" height="44" rx="22" class="f-acc"/>
|
|
24
|
-
<text x="68" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">提交</text>
|
|
25
|
-
<path d="M116 134 H148" class="s-acc" stroke-width="2"/>
|
|
26
|
-
<polygon points="150,134 170,116 190,134 170,152" class="f-none s-acc" stroke-width="2"/>
|
|
27
|
-
<text x="170" y="176" text-anchor="middle" class="f-txt3" font-size="11">口径校验</text>
|
|
28
|
-
<path d="M190 134 H228" class="s-acc" stroke-width="2"/>
|
|
29
|
-
<polygon points="220,129 230,134 220,139" class="f-acc"/>
|
|
30
|
-
<text x="209" y="126" class="f-txt3" font-size="11">是</text>
|
|
31
|
-
<rect x="230" y="112" width="120" height="44" rx="10" class="f-acc"/>
|
|
32
|
-
<text x="290" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">自动入湖</text>
|
|
33
|
-
<path d="M350 134 H388" class="s-acc" stroke-width="2"/>
|
|
34
|
-
<polygon points="380,129 390,134 380,139" class="f-acc"/>
|
|
35
|
-
<rect x="390" y="112" width="120" height="44" rx="10" class="f-acc"/>
|
|
36
|
-
<text x="450" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">挂接契约</text>
|
|
37
|
-
<path d="M510 134 H548" class="s-acc" stroke-width="2"/>
|
|
38
|
-
<polygon points="540,129 550,134 540,139" class="f-acc"/>
|
|
39
|
-
<rect x="550" y="112" width="110" height="44" rx="22" class="f-acc"/>
|
|
40
|
-
<text x="605" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">完成</text>
|
|
41
|
-
<!-- 异常支路:判断「否」→ 人工复核 → 汇合回主线 -->
|
|
42
|
-
<path d="M170 152 V240 H296" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
43
|
-
<polygon points="288,235 298,240 288,245" class="f-txt3"/>
|
|
44
|
-
<text x="178" y="200" class="f-txt3" font-size="11">否</text>
|
|
45
|
-
<rect x="298" y="218" width="160" height="44" rx="10" class="f-s3 s-txt3"
|
|
46
|
-
stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
47
|
-
<text x="378" y="245" text-anchor="middle" class="f-txt" font-size="13" font-weight="600">人工复核</text>
|
|
48
|
-
<path d="M458 240 H540 V160" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
49
|
-
<polygon points="535,168 540,158 545,168" class="f-txt3"/>
|
|
50
|
-
<!-- 图例 -->
|
|
51
|
-
<g font-size="11" class="f-txt3">
|
|
52
|
-
<rect x="20" y="276" width="14" height="14" rx="4" class="f-acc"/>
|
|
53
|
-
<text x="40" y="288">动作(主路径)</text>
|
|
54
|
-
<polygon points="150,283 160,276 170,283 160,290" class="f-none s-acc" stroke-width="2"/>
|
|
55
|
-
<text x="176" y="288">判断</text>
|
|
56
|
-
<rect x="216" y="276" width="14" height="14" rx="4" class="f-s3"/>
|
|
57
|
-
<text x="236" y="288">异常路径(需人工介入)</text>
|
|
58
|
-
</g>
|
|
59
|
-
</svg>
|
|
60
|
-
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">
|
|
61
|
-
数据入湖流程:口径校验是唯一人工节点,异常路径自动转人工复核后回归主线
|
|
62
|
-
</figcaption>
|
|
63
|
-
</figure>
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**模型侧(PPTX 同源)**:`{"type":"diagram","layers":[["主线",[["提交","起止"],["口径校验","判断"],["自动入湖","动作"],["挂接契约","动作"],["完成","起止"]]]],"legend":["动作","判断","异常路径"],"note":"异常路径:判断为否 → 人工复核 → 回归主线"}`
|
|
67
|
-
|
|
68
|
-
### 79. 层级树 `tree`(组织 / 分解 / WBS)
|
|
69
|
-
|
|
70
|
-
**用途**:组织架构、能力分解、WBS、分类体系、因果分解(issue tree)。**上限:叶节点 ≤16 / 深度 ≤4。**
|
|
71
|
-
|
|
72
|
-
**画法规则**:
|
|
73
|
-
1. **正交连接**:父节点底部向下出线 → 水平总线 → 逐子节点垂直下落。**不画斜线、不画弧线**。
|
|
74
|
-
2. **同层等高**:同一层的节点框同高、同字号;叶节点用小一号。
|
|
75
|
-
3. **层级表达靠明度**:根 `f-acc`(反相文字)、中间层 `f-s2`、叶层 `f-s1`——**不引入第二色相**。
|
|
76
|
-
4. **宽度**:父节点框宽 ≥ 子节点之和的 60%(视觉上"撑得住")。
|
|
77
|
-
5. **标签**:节点标签 ≤8 字;补充说明放图注,不塞进节点。
|
|
78
|
-
|
|
79
|
-
```html
|
|
80
|
-
<figure class="fig rv">
|
|
81
|
-
<svg viewBox="0 0 900 300" style="width:100%">
|
|
82
|
-
<!-- 根 -->
|
|
83
|
-
<rect x="390" y="18" width="120" height="38" rx="8" class="f-acc"/>
|
|
84
|
-
<text x="450" y="42" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">数据平台</text>
|
|
85
|
-
<!-- 主干 + 水平总线 + 垂直下落 -->
|
|
86
|
-
<path d="M450 56 V86" class="s-bds" stroke-width="1.5"/>
|
|
87
|
-
<path d="M140 86 H760" class="s-bds" stroke-width="1.5"/>
|
|
88
|
-
<path d="M200 86 V110 M450 86 V110 M700 86 V110" class="s-bds" stroke-width="1.5"/>
|
|
89
|
-
<!-- 中间层 -->
|
|
90
|
-
<rect x="130" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
91
|
-
<text x="200" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">数据层</text>
|
|
92
|
-
<rect x="380" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
93
|
-
<text x="450" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">服务层</text>
|
|
94
|
-
<rect x="630" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
95
|
-
<text x="700" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">应用层</text>
|
|
96
|
-
<!-- 叶层连接(每组:下出 → 水平 → 两处下落) -->
|
|
97
|
-
<path d="M200 146 V170 M140 170 H260 M140 170 V200 M260 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
98
|
-
<path d="M450 146 V170 M390 170 H510 M390 170 V200 M510 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
99
|
-
<path d="M700 146 V170 M640 170 H760 M640 170 V200 M760 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
100
|
-
<!-- 叶层 -->
|
|
101
|
-
<rect x="85" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
102
|
-
<text x="140" y="221" text-anchor="middle" class="f-txt2" font-size="11">数据湖</text>
|
|
103
|
-
<rect x="205" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
104
|
-
<text x="260" y="221" text-anchor="middle" class="f-txt2" font-size="11">指标中心</text>
|
|
105
|
-
<rect x="335" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
106
|
-
<text x="390" y="221" text-anchor="middle" class="f-txt2" font-size="11">数据契约</text>
|
|
107
|
-
<rect x="455" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
108
|
-
<text x="510" y="221" text-anchor="middle" class="f-txt2" font-size="11">权限审计</text>
|
|
109
|
-
<rect x="585" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
110
|
-
<text x="640" y="221" text-anchor="middle" class="f-txt2" font-size="11">问数入口</text>
|
|
111
|
-
<rect x="705" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
112
|
-
<text x="760" y="221" text-anchor="middle" class="f-txt2" font-size="11">Agent 消费</text>
|
|
113
|
-
<!-- 焦点标注 -->
|
|
114
|
-
<path d="M335 262 V250" class="s-acc" stroke-width="2"/>
|
|
115
|
-
<text x="390" y="278" text-anchor="middle" class="f-acc" font-size="11" font-weight="600">当前建设焦点</text>
|
|
116
|
-
</svg>
|
|
117
|
-
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">平台能力分解:三层六项,契约与治理是当前焦点</figcaption>
|
|
118
|
-
</figure>
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
**模型侧**:`{"type":"diagram","layers":[["数据平台",[["数据层","数据湖 / 指标中心"],["服务层","数据契约 / 权限审计"],["应用层","问数入口 / Agent 消费"]]]],"legend":["当前建设焦点"],"note":"焦点项:数据契约(服务层)"}`
|
|
122
|
-
|
|
123
|
-
### 80. 时序图 `sequence`(参与者 × 消息 × 激活条)
|
|
124
|
-
|
|
125
|
-
**用途**:系统交互、接口调用链、多方协作时序、审批流转。**上限:参与者 ≤5 / 消息 ≤8。**
|
|
126
|
-
|
|
127
|
-
**画法规则**:
|
|
128
|
-
1. **参与者**:顶部横排圆角矩形(宽 140),下方引**虚线生命线**(`s-bds` + `stroke-dasharray="4 4"`)到底部。
|
|
129
|
-
2. **消息**:水平箭头,**右向 `f-acc`、返回 `s-txt3` 虚线**;标签写在线中段上方(字号 11)。
|
|
130
|
-
3. **激活条**:被调用期间在生命线上画窄条(宽 10,`f-acc`;返回后结束)——这是时序图区别于流程图的关键信息。
|
|
131
|
-
4. **编号**:消息可加序号(①②③)便于正文引用。
|
|
132
|
-
5. **文字退到图注级**:消息标签 ≤10 字,补充说明沉图注。
|
|
133
|
-
|
|
134
|
-
```html
|
|
135
|
-
<figure class="fig rv">
|
|
136
|
-
<svg viewBox="0 0 900 300" style="width:100%">
|
|
137
|
-
<!-- 参与者 -->
|
|
138
|
-
<rect x="80" y="20" width="140" height="34" rx="6" class="f-s2"/>
|
|
139
|
-
<text x="150" y="42" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">业务用户</text>
|
|
140
|
-
<rect x="380" y="20" width="140" height="34" rx="6" class="f-acc"/>
|
|
141
|
-
<text x="450" y="42" text-anchor="middle" class="t-on-inv" font-size="12" font-weight="600">智能体平台</text>
|
|
142
|
-
<rect x="680" y="20" width="140" height="34" rx="6" class="f-s2"/>
|
|
143
|
-
<text x="750" y="42" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">指标服务</text>
|
|
144
|
-
<!-- 生命线 -->
|
|
145
|
-
<path d="M150 54 V280 M450 54 V280 M750 54 V280" class="s-bds" stroke-width="1"
|
|
146
|
-
stroke-dasharray="4 4"/>
|
|
147
|
-
<!-- 激活条 -->
|
|
148
|
-
<rect x="445" y="90" width="10" height="150" rx="3" class="f-acc"/>
|
|
149
|
-
<rect x="745" y="130" width="10" height="70" rx="3" class="f-accs2"/>
|
|
150
|
-
<!-- 消息 -->
|
|
151
|
-
<path d="M150 100 H440" class="s-acc" stroke-width="2"/>
|
|
152
|
-
<polygon points="432,95 442,100 432,105" class="f-acc"/>
|
|
153
|
-
<text x="295" y="92" text-anchor="middle" class="f-txt2" font-size="11">① 提问(自然语言)</text>
|
|
154
|
-
<path d="M455 145 H740" class="s-acc" stroke-width="2"/>
|
|
155
|
-
<polygon points="732,140 742,145 732,150" class="f-acc"/>
|
|
156
|
-
<text x="597" y="137" text-anchor="middle" class="f-txt2" font-size="11">② 取指标(带口径)</text>
|
|
157
|
-
<path d="M740 185 H465" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
158
|
-
<polygon points="473,180 463,185 473,190" class="f-txt3"/>
|
|
159
|
-
<text x="597" y="177" text-anchor="middle" class="f-txt3" font-size="11">③ 返回结果 + 来源</text>
|
|
160
|
-
<path d="M440 225 H160" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
161
|
-
<polygon points="168,220 158,225 168,230" class="f-txt3"/>
|
|
162
|
-
<text x="295" y="217" text-anchor="middle" class="f-txt3" font-size="11">④ 回答 + 可追溯引用</text>
|
|
163
|
-
</svg>
|
|
164
|
-
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">
|
|
165
|
-
问数链路时序:平台作为编排层,指标服务返回带口径与来源的结果
|
|
166
|
-
</figcaption>
|
|
167
|
-
</figure>
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
**模型侧**:`{"type":"steps","steps":[["① 提问","业务用户 → 智能体平台(自然语言)"],["② 取指标","平台 → 指标服务(带口径)"],["③ 返回","指标服务 → 平台(结果 + 来源)"],["④ 回答","平台 → 用户(可追溯引用)"]],"note":"激活条:平台全程激活;指标服务仅在②–③期间激活"}`
|
|
171
|
-
|
|
172
|
-
### 81. 闭环 / 飞轮 `loop`(循环增强)
|
|
173
|
-
|
|
174
|
-
**用途**:增长飞轮、PDCA、数据闭环、正反馈链路、DevOps 循环。**上限:环节 ≤6。**
|
|
175
|
-
|
|
176
|
-
**画法规则**:
|
|
177
|
-
1. **环状布局**:4 环节最稳(矩形四角 + 四边箭头);6 环节沿圆周均布。
|
|
178
|
-
2. **箭头方向一致**(顺时针或逆时针),**箭头是主角**——它表达"闭环"而非"并列"。
|
|
179
|
-
3. **中心**放一句话结论(飞轮的名字 / 收益),字号大于节点。
|
|
180
|
-
4. **强调**:增强最快的一环用 `f-acc`,其余 `f-s2`;箭头 `s-acc`。
|
|
181
|
-
5. **不要用圆环本身代替箭头**:只画圆环会被读成"并列的 4 项"。
|
|
182
|
-
|
|
183
|
-
```html
|
|
184
|
-
<figure class="fig rv">
|
|
185
|
-
<svg viewBox="0 0 900 300" style="width:100%">
|
|
186
|
-
<!-- 四环节 -->
|
|
187
|
-
<rect x="135" y="47" width="150" height="46" rx="12" class="f-acc"/>
|
|
188
|
-
<text x="210" y="75" text-anchor="middle" class="t-on-inv" font-size="12" font-weight="600">治理动作</text>
|
|
189
|
-
<rect x="615" y="47" width="150" height="46" rx="12" class="f-s2"/>
|
|
190
|
-
<text x="690" y="75" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">数据质量↑</text>
|
|
191
|
-
<rect x="615" y="207" width="150" height="46" rx="12" class="f-s2"/>
|
|
192
|
-
<text x="690" y="235" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">业务结果↑</text>
|
|
193
|
-
<rect x="135" y="207" width="150" height="46" rx="12" class="f-s2"/>
|
|
194
|
-
<text x="210" y="235" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">新数据沉淀</text>
|
|
195
|
-
<!-- 顺时针箭头(箭头是主角) -->
|
|
196
|
-
<path d="M285 70 H607" class="s-acc" stroke-width="2"/>
|
|
197
|
-
<polygon points="599,64 611,70 599,76" class="f-acc"/>
|
|
198
|
-
<path d="M690 93 V199" class="s-acc" stroke-width="2"/>
|
|
199
|
-
<polygon points="684,191 690,203 696,191" class="f-acc"/>
|
|
200
|
-
<path d="M615 230 H293" class="s-acc" stroke-width="2"/>
|
|
201
|
-
<polygon points="301,224 289,230 301,236" class="f-acc"/>
|
|
202
|
-
<path d="M210 207 V101" class="s-acc" stroke-width="2"/>
|
|
203
|
-
<polygon points="204,109 210,97 216,109" class="f-acc"/>
|
|
204
|
-
<!-- 中心结论 -->
|
|
205
|
-
<text x="450" y="146" text-anchor="middle" class="f-txt" font-size="18" font-weight="700">数据增长飞轮</text>
|
|
206
|
-
<text x="450" y="170" text-anchor="middle" class="f-txt3" font-size="11">治理投入 → 质量 → 结果 → 数据,逐圈增强</text>
|
|
207
|
-
</svg>
|
|
208
|
-
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">数据增长飞轮:治理动作是起点,也是下一圈的输入</figcaption>
|
|
209
|
-
</figure>
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
**模型侧**:`{"type":"steps","steps":[["治理动作","起点:统一口径与契约"],["数据质量↑","可查、可信、可比"],["业务结果↑","用数决策带来收益"],["新数据沉淀","业务过程产生新数据"]],"note":"闭环:第 4 环回到第 1 环,逐圈增强"}`
|
|
213
|
-
|
|
214
|
-
### 82. 结构图形族 · 常见失败模式
|
|
215
|
-
|
|
216
|
-
| 失败 | 正确做法 |
|
|
217
|
-
|------|---------|
|
|
218
|
-
| 用 `.lane` 的文本 `→` 冒充流程图 | 真流程图用 `flow`(§78):判断用菱形、分支标条件、异常用虚线 |
|
|
219
|
-
| 分支画成斜线导致交叉难读 | 正交折线(`M…V…H…`)+ 汇合总线 |
|
|
220
|
-
| 层级图用缩进列表代替连线 | 用 `tree`(§79)的正交连接 + 同层等高 |
|
|
221
|
-
| 时序图只有箭头没有激活条 | 补激活条(被调用区间),这是时序图的信息核心 |
|
|
222
|
-
| 闭环画成 4 个并列卡片 | 必须有**方向一致的箭头**,中心放飞轮名与收益(`loop` §81) |
|
|
223
|
-
| 结构图里塞整句正文 | 节点 ≤8 字;说明沉图注 / `note`(进演讲者备注) |
|
|
224
|
-
| 节点超上限靠缩字号硬塞 | 按上限**拆页**(铁律 11:宁拆勿挤) |
|
|
225
|
-
| 结构图用第二色相区分层级 | 层级靠**明度阶梯**(`f-acc → f-s2 → f-s1`),强调色只给主路径 / 焦点 |
|
|
226
|
-
|
|
1
|
+
# 信息图 · 结构图形族(flow/tree/sequence/loop)
|
|
2
|
+
|
|
3
|
+
> 由 `infographics.md` 拆出(§编号不变)。流程图/层级树/时序图/闭环规范与写法 §78–§82。
|
|
4
|
+
> PPTX 映射为 `diagram` / `steps` 页型,分支写 `note`;不新增页型。
|
|
5
|
+
> 取码:`--file infographics.md --section 78` 等。
|
|
6
|
+
|
|
7
|
+
### 78. 流程图 `flow`(分支 / 判断 / 汇合 / 异常路径)
|
|
8
|
+
|
|
9
|
+
**用途**:业务流程、审批链路、决策路径、故障处置、运营 SOP。**上限:节点 ≤20 / 判断 ≤4 / 分支层级 ≤3。**
|
|
10
|
+
|
|
11
|
+
**画法规则**:
|
|
12
|
+
1. **形状语义**:动作 = 圆角矩形 `rx="10"`;判断 = 菱形 `<polygon>`;起止 = 胶囊 `rx="22"`;异常/失败路径 = 虚线 + 中性色。
|
|
13
|
+
2. **路由**:主线水平推进;分支向下或向上引出,**正交折线**(`M…V…H…`),不画斜线。
|
|
14
|
+
3. **分支标签**:在分支线中点上方标条件("是/否"、"≥80%"),字号 11、`f-txt3`。
|
|
15
|
+
4. **汇合**:多支路汇到同一节点时用一条竖向总线 + 逐支水平接入,避免斜线交叉。
|
|
16
|
+
5. **强调**:主路径 `f-acc` 实底 + `.t-on-inv` 文字;关键判断 `s-acc` 描边;异常路径 `f-s3` 底 + `s-txt3` 虚线。
|
|
17
|
+
6. **图例**:底部一行 chips 说明形状语义(动作 / 判断 / 异常)。
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<figure class="fig rv">
|
|
21
|
+
<svg viewBox="0 0 900 300" style="width:100%">
|
|
22
|
+
<!-- 主路径:起止 → 判断 → 动作 → 动作 → 完成 -->
|
|
23
|
+
<rect x="20" y="112" width="96" height="44" rx="22" class="f-acc"/>
|
|
24
|
+
<text x="68" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">提交</text>
|
|
25
|
+
<path d="M116 134 H148" class="s-acc" stroke-width="2"/>
|
|
26
|
+
<polygon points="150,134 170,116 190,134 170,152" class="f-none s-acc" stroke-width="2"/>
|
|
27
|
+
<text x="170" y="176" text-anchor="middle" class="f-txt3" font-size="11">口径校验</text>
|
|
28
|
+
<path d="M190 134 H228" class="s-acc" stroke-width="2"/>
|
|
29
|
+
<polygon points="220,129 230,134 220,139" class="f-acc"/>
|
|
30
|
+
<text x="209" y="126" class="f-txt3" font-size="11">是</text>
|
|
31
|
+
<rect x="230" y="112" width="120" height="44" rx="10" class="f-acc"/>
|
|
32
|
+
<text x="290" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">自动入湖</text>
|
|
33
|
+
<path d="M350 134 H388" class="s-acc" stroke-width="2"/>
|
|
34
|
+
<polygon points="380,129 390,134 380,139" class="f-acc"/>
|
|
35
|
+
<rect x="390" y="112" width="120" height="44" rx="10" class="f-acc"/>
|
|
36
|
+
<text x="450" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">挂接契约</text>
|
|
37
|
+
<path d="M510 134 H548" class="s-acc" stroke-width="2"/>
|
|
38
|
+
<polygon points="540,129 550,134 540,139" class="f-acc"/>
|
|
39
|
+
<rect x="550" y="112" width="110" height="44" rx="22" class="f-acc"/>
|
|
40
|
+
<text x="605" y="139" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">完成</text>
|
|
41
|
+
<!-- 异常支路:判断「否」→ 人工复核 → 汇合回主线 -->
|
|
42
|
+
<path d="M170 152 V240 H296" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
43
|
+
<polygon points="288,235 298,240 288,245" class="f-txt3"/>
|
|
44
|
+
<text x="178" y="200" class="f-txt3" font-size="11">否</text>
|
|
45
|
+
<rect x="298" y="218" width="160" height="44" rx="10" class="f-s3 s-txt3"
|
|
46
|
+
stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
47
|
+
<text x="378" y="245" text-anchor="middle" class="f-txt" font-size="13" font-weight="600">人工复核</text>
|
|
48
|
+
<path d="M458 240 H540 V160" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
49
|
+
<polygon points="535,168 540,158 545,168" class="f-txt3"/>
|
|
50
|
+
<!-- 图例 -->
|
|
51
|
+
<g font-size="11" class="f-txt3">
|
|
52
|
+
<rect x="20" y="276" width="14" height="14" rx="4" class="f-acc"/>
|
|
53
|
+
<text x="40" y="288">动作(主路径)</text>
|
|
54
|
+
<polygon points="150,283 160,276 170,283 160,290" class="f-none s-acc" stroke-width="2"/>
|
|
55
|
+
<text x="176" y="288">判断</text>
|
|
56
|
+
<rect x="216" y="276" width="14" height="14" rx="4" class="f-s3"/>
|
|
57
|
+
<text x="236" y="288">异常路径(需人工介入)</text>
|
|
58
|
+
</g>
|
|
59
|
+
</svg>
|
|
60
|
+
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">
|
|
61
|
+
数据入湖流程:口径校验是唯一人工节点,异常路径自动转人工复核后回归主线
|
|
62
|
+
</figcaption>
|
|
63
|
+
</figure>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**模型侧(PPTX 同源)**:`{"type":"diagram","layers":[["主线",[["提交","起止"],["口径校验","判断"],["自动入湖","动作"],["挂接契约","动作"],["完成","起止"]]]],"legend":["动作","判断","异常路径"],"note":"异常路径:判断为否 → 人工复核 → 回归主线"}`
|
|
67
|
+
|
|
68
|
+
### 79. 层级树 `tree`(组织 / 分解 / WBS)
|
|
69
|
+
|
|
70
|
+
**用途**:组织架构、能力分解、WBS、分类体系、因果分解(issue tree)。**上限:叶节点 ≤16 / 深度 ≤4。**
|
|
71
|
+
|
|
72
|
+
**画法规则**:
|
|
73
|
+
1. **正交连接**:父节点底部向下出线 → 水平总线 → 逐子节点垂直下落。**不画斜线、不画弧线**。
|
|
74
|
+
2. **同层等高**:同一层的节点框同高、同字号;叶节点用小一号。
|
|
75
|
+
3. **层级表达靠明度**:根 `f-acc`(反相文字)、中间层 `f-s2`、叶层 `f-s1`——**不引入第二色相**。
|
|
76
|
+
4. **宽度**:父节点框宽 ≥ 子节点之和的 60%(视觉上"撑得住")。
|
|
77
|
+
5. **标签**:节点标签 ≤8 字;补充说明放图注,不塞进节点。
|
|
78
|
+
|
|
79
|
+
```html
|
|
80
|
+
<figure class="fig rv">
|
|
81
|
+
<svg viewBox="0 0 900 300" style="width:100%">
|
|
82
|
+
<!-- 根 -->
|
|
83
|
+
<rect x="390" y="18" width="120" height="38" rx="8" class="f-acc"/>
|
|
84
|
+
<text x="450" y="42" text-anchor="middle" class="t-on-inv" font-size="13" font-weight="600">数据平台</text>
|
|
85
|
+
<!-- 主干 + 水平总线 + 垂直下落 -->
|
|
86
|
+
<path d="M450 56 V86" class="s-bds" stroke-width="1.5"/>
|
|
87
|
+
<path d="M140 86 H760" class="s-bds" stroke-width="1.5"/>
|
|
88
|
+
<path d="M200 86 V110 M450 86 V110 M700 86 V110" class="s-bds" stroke-width="1.5"/>
|
|
89
|
+
<!-- 中间层 -->
|
|
90
|
+
<rect x="130" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
91
|
+
<text x="200" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">数据层</text>
|
|
92
|
+
<rect x="380" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
93
|
+
<text x="450" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">服务层</text>
|
|
94
|
+
<rect x="630" y="110" width="140" height="36" rx="8" class="f-s2"/>
|
|
95
|
+
<text x="700" y="133" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">应用层</text>
|
|
96
|
+
<!-- 叶层连接(每组:下出 → 水平 → 两处下落) -->
|
|
97
|
+
<path d="M200 146 V170 M140 170 H260 M140 170 V200 M260 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
98
|
+
<path d="M450 146 V170 M390 170 H510 M390 170 V200 M510 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
99
|
+
<path d="M700 146 V170 M640 170 H760 M640 170 V200 M760 170 V200" class="s-bds" stroke-width="1.5"/>
|
|
100
|
+
<!-- 叶层 -->
|
|
101
|
+
<rect x="85" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
102
|
+
<text x="140" y="221" text-anchor="middle" class="f-txt2" font-size="11">数据湖</text>
|
|
103
|
+
<rect x="205" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
104
|
+
<text x="260" y="221" text-anchor="middle" class="f-txt2" font-size="11">指标中心</text>
|
|
105
|
+
<rect x="335" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
106
|
+
<text x="390" y="221" text-anchor="middle" class="f-txt2" font-size="11">数据契约</text>
|
|
107
|
+
<rect x="455" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
108
|
+
<text x="510" y="221" text-anchor="middle" class="f-txt2" font-size="11">权限审计</text>
|
|
109
|
+
<rect x="585" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
110
|
+
<text x="640" y="221" text-anchor="middle" class="f-txt2" font-size="11">问数入口</text>
|
|
111
|
+
<rect x="705" y="200" width="110" height="34" rx="6" class="f-s1"/>
|
|
112
|
+
<text x="760" y="221" text-anchor="middle" class="f-txt2" font-size="11">Agent 消费</text>
|
|
113
|
+
<!-- 焦点标注 -->
|
|
114
|
+
<path d="M335 262 V250" class="s-acc" stroke-width="2"/>
|
|
115
|
+
<text x="390" y="278" text-anchor="middle" class="f-acc" font-size="11" font-weight="600">当前建设焦点</text>
|
|
116
|
+
</svg>
|
|
117
|
+
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">平台能力分解:三层六项,契约与治理是当前焦点</figcaption>
|
|
118
|
+
</figure>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**模型侧**:`{"type":"diagram","layers":[["数据平台",[["数据层","数据湖 / 指标中心"],["服务层","数据契约 / 权限审计"],["应用层","问数入口 / Agent 消费"]]]],"legend":["当前建设焦点"],"note":"焦点项:数据契约(服务层)"}`
|
|
122
|
+
|
|
123
|
+
### 80. 时序图 `sequence`(参与者 × 消息 × 激活条)
|
|
124
|
+
|
|
125
|
+
**用途**:系统交互、接口调用链、多方协作时序、审批流转。**上限:参与者 ≤5 / 消息 ≤8。**
|
|
126
|
+
|
|
127
|
+
**画法规则**:
|
|
128
|
+
1. **参与者**:顶部横排圆角矩形(宽 140),下方引**虚线生命线**(`s-bds` + `stroke-dasharray="4 4"`)到底部。
|
|
129
|
+
2. **消息**:水平箭头,**右向 `f-acc`、返回 `s-txt3` 虚线**;标签写在线中段上方(字号 11)。
|
|
130
|
+
3. **激活条**:被调用期间在生命线上画窄条(宽 10,`f-acc`;返回后结束)——这是时序图区别于流程图的关键信息。
|
|
131
|
+
4. **编号**:消息可加序号(①②③)便于正文引用。
|
|
132
|
+
5. **文字退到图注级**:消息标签 ≤10 字,补充说明沉图注。
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<figure class="fig rv">
|
|
136
|
+
<svg viewBox="0 0 900 300" style="width:100%">
|
|
137
|
+
<!-- 参与者 -->
|
|
138
|
+
<rect x="80" y="20" width="140" height="34" rx="6" class="f-s2"/>
|
|
139
|
+
<text x="150" y="42" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">业务用户</text>
|
|
140
|
+
<rect x="380" y="20" width="140" height="34" rx="6" class="f-acc"/>
|
|
141
|
+
<text x="450" y="42" text-anchor="middle" class="t-on-inv" font-size="12" font-weight="600">智能体平台</text>
|
|
142
|
+
<rect x="680" y="20" width="140" height="34" rx="6" class="f-s2"/>
|
|
143
|
+
<text x="750" y="42" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">指标服务</text>
|
|
144
|
+
<!-- 生命线 -->
|
|
145
|
+
<path d="M150 54 V280 M450 54 V280 M750 54 V280" class="s-bds" stroke-width="1"
|
|
146
|
+
stroke-dasharray="4 4"/>
|
|
147
|
+
<!-- 激活条 -->
|
|
148
|
+
<rect x="445" y="90" width="10" height="150" rx="3" class="f-acc"/>
|
|
149
|
+
<rect x="745" y="130" width="10" height="70" rx="3" class="f-accs2"/>
|
|
150
|
+
<!-- 消息 -->
|
|
151
|
+
<path d="M150 100 H440" class="s-acc" stroke-width="2"/>
|
|
152
|
+
<polygon points="432,95 442,100 432,105" class="f-acc"/>
|
|
153
|
+
<text x="295" y="92" text-anchor="middle" class="f-txt2" font-size="11">① 提问(自然语言)</text>
|
|
154
|
+
<path d="M455 145 H740" class="s-acc" stroke-width="2"/>
|
|
155
|
+
<polygon points="732,140 742,145 732,150" class="f-acc"/>
|
|
156
|
+
<text x="597" y="137" text-anchor="middle" class="f-txt2" font-size="11">② 取指标(带口径)</text>
|
|
157
|
+
<path d="M740 185 H465" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
158
|
+
<polygon points="473,180 463,185 473,190" class="f-txt3"/>
|
|
159
|
+
<text x="597" y="177" text-anchor="middle" class="f-txt3" font-size="11">③ 返回结果 + 来源</text>
|
|
160
|
+
<path d="M440 225 H160" class="s-txt3" stroke-width="1.5" stroke-dasharray="5 4"/>
|
|
161
|
+
<polygon points="168,220 158,225 168,230" class="f-txt3"/>
|
|
162
|
+
<text x="295" y="217" text-anchor="middle" class="f-txt3" font-size="11">④ 回答 + 可追溯引用</text>
|
|
163
|
+
</svg>
|
|
164
|
+
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">
|
|
165
|
+
问数链路时序:平台作为编排层,指标服务返回带口径与来源的结果
|
|
166
|
+
</figcaption>
|
|
167
|
+
</figure>
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**模型侧**:`{"type":"steps","steps":[["① 提问","业务用户 → 智能体平台(自然语言)"],["② 取指标","平台 → 指标服务(带口径)"],["③ 返回","指标服务 → 平台(结果 + 来源)"],["④ 回答","平台 → 用户(可追溯引用)"]],"note":"激活条:平台全程激活;指标服务仅在②–③期间激活"}`
|
|
171
|
+
|
|
172
|
+
### 81. 闭环 / 飞轮 `loop`(循环增强)
|
|
173
|
+
|
|
174
|
+
**用途**:增长飞轮、PDCA、数据闭环、正反馈链路、DevOps 循环。**上限:环节 ≤6。**
|
|
175
|
+
|
|
176
|
+
**画法规则**:
|
|
177
|
+
1. **环状布局**:4 环节最稳(矩形四角 + 四边箭头);6 环节沿圆周均布。
|
|
178
|
+
2. **箭头方向一致**(顺时针或逆时针),**箭头是主角**——它表达"闭环"而非"并列"。
|
|
179
|
+
3. **中心**放一句话结论(飞轮的名字 / 收益),字号大于节点。
|
|
180
|
+
4. **强调**:增强最快的一环用 `f-acc`,其余 `f-s2`;箭头 `s-acc`。
|
|
181
|
+
5. **不要用圆环本身代替箭头**:只画圆环会被读成"并列的 4 项"。
|
|
182
|
+
|
|
183
|
+
```html
|
|
184
|
+
<figure class="fig rv">
|
|
185
|
+
<svg viewBox="0 0 900 300" style="width:100%">
|
|
186
|
+
<!-- 四环节 -->
|
|
187
|
+
<rect x="135" y="47" width="150" height="46" rx="12" class="f-acc"/>
|
|
188
|
+
<text x="210" y="75" text-anchor="middle" class="t-on-inv" font-size="12" font-weight="600">治理动作</text>
|
|
189
|
+
<rect x="615" y="47" width="150" height="46" rx="12" class="f-s2"/>
|
|
190
|
+
<text x="690" y="75" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">数据质量↑</text>
|
|
191
|
+
<rect x="615" y="207" width="150" height="46" rx="12" class="f-s2"/>
|
|
192
|
+
<text x="690" y="235" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">业务结果↑</text>
|
|
193
|
+
<rect x="135" y="207" width="150" height="46" rx="12" class="f-s2"/>
|
|
194
|
+
<text x="210" y="235" text-anchor="middle" class="f-txt" font-size="12" font-weight="600">新数据沉淀</text>
|
|
195
|
+
<!-- 顺时针箭头(箭头是主角) -->
|
|
196
|
+
<path d="M285 70 H607" class="s-acc" stroke-width="2"/>
|
|
197
|
+
<polygon points="599,64 611,70 599,76" class="f-acc"/>
|
|
198
|
+
<path d="M690 93 V199" class="s-acc" stroke-width="2"/>
|
|
199
|
+
<polygon points="684,191 690,203 696,191" class="f-acc"/>
|
|
200
|
+
<path d="M615 230 H293" class="s-acc" stroke-width="2"/>
|
|
201
|
+
<polygon points="301,224 289,230 301,236" class="f-acc"/>
|
|
202
|
+
<path d="M210 207 V101" class="s-acc" stroke-width="2"/>
|
|
203
|
+
<polygon points="204,109 210,97 216,109" class="f-acc"/>
|
|
204
|
+
<!-- 中心结论 -->
|
|
205
|
+
<text x="450" y="146" text-anchor="middle" class="f-txt" font-size="18" font-weight="700">数据增长飞轮</text>
|
|
206
|
+
<text x="450" y="170" text-anchor="middle" class="f-txt3" font-size="11">治理投入 → 质量 → 结果 → 数据,逐圈增强</text>
|
|
207
|
+
</svg>
|
|
208
|
+
<figcaption class="fig__cap" style="margin-top:var(--sp-4)">数据增长飞轮:治理动作是起点,也是下一圈的输入</figcaption>
|
|
209
|
+
</figure>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**模型侧**:`{"type":"steps","steps":[["治理动作","起点:统一口径与契约"],["数据质量↑","可查、可信、可比"],["业务结果↑","用数决策带来收益"],["新数据沉淀","业务过程产生新数据"]],"note":"闭环:第 4 环回到第 1 环,逐圈增强"}`
|
|
213
|
+
|
|
214
|
+
### 82. 结构图形族 · 常见失败模式
|
|
215
|
+
|
|
216
|
+
| 失败 | 正确做法 |
|
|
217
|
+
|------|---------|
|
|
218
|
+
| 用 `.lane` 的文本 `→` 冒充流程图 | 真流程图用 `flow`(§78):判断用菱形、分支标条件、异常用虚线 |
|
|
219
|
+
| 分支画成斜线导致交叉难读 | 正交折线(`M…V…H…`)+ 汇合总线 |
|
|
220
|
+
| 层级图用缩进列表代替连线 | 用 `tree`(§79)的正交连接 + 同层等高 |
|
|
221
|
+
| 时序图只有箭头没有激活条 | 补激活条(被调用区间),这是时序图的信息核心 |
|
|
222
|
+
| 闭环画成 4 个并列卡片 | 必须有**方向一致的箭头**,中心放飞轮名与收益(`loop` §81) |
|
|
223
|
+
| 结构图里塞整句正文 | 节点 ≤8 字;说明沉图注 / `note`(进演讲者备注) |
|
|
224
|
+
| 节点超上限靠缩字号硬塞 | 按上限**拆页**(铁律 11:宁拆勿挤) |
|
|
225
|
+
| 结构图用第二色相区分层级 | 层级靠**明度阶梯**(`f-acc → f-s2 → f-s1`),强调色只给主路径 / 焦点 |
|
|
226
|
+
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
# 复杂信息图页型族(逻辑索引 · 铁律与边界)
|
|
2
|
-
|
|
3
|
-
> **何时读本文**:需要复杂大型信息图时先读本文件的**边界判断与通用铁律**(§一/§二)。
|
|
4
|
-
> **代码与规格已拆分**,禁止整读大文件:
|
|
5
|
-
> - 统计图形(桑基/树图/箱线/网络/马赛克/流带)→ `infographics-stats.md`(§1–§6 / §71–§77)
|
|
6
|
-
> - 结构图形(流程/树/时序/闭环)→ `infographics-structure.md`(§78–§82)
|
|
7
|
-
> 取码:`python scripts/extract_snippet.py --chart <类型>` · `--file infographics.md --section <编号>`
|
|
8
|
-
|
|
9
|
-
# 复杂信息图页型族(research / architecture 专属)
|
|
10
|
-
|
|
11
|
-
> **何时读本文**:报告需要承载**复杂大型信息图 / 高密度信息图**(流向、构成、分布、关系、演变)时——即一张图要同时表达「多个主体 + 多重关系 + 数值量级」的场景。生成前先读本文 §一–§五(规范),写法见 §71–§77。
|
|
12
|
-
>
|
|
13
|
-
> 定位:这是「图为王」的**页型级**能力,不是普通图表(36 种内联图表见 `charts.md`)。普通图表回答「一个数是多少」,信息图页型回答「一整套结构长什么样」。
|
|
14
|
-
|
|
15
|
-
## 一、与普通图表的边界(先做这道判断)
|
|
16
|
-
|
|
17
|
-
| 需求特征 | 用什么 |
|
|
18
|
-
|---------|-------|
|
|
19
|
-
| 单一维度对比 / 趋势 / 占比(≤12 个数据点) | 普通图表(`charts.md` §16–§31、§35、§52–§70)+ `bar` / `donut` / `exhibit` 页型 |
|
|
20
|
-
| 多个主体之间的**流向与流量** | `sankey` 页型 |
|
|
21
|
-
| 层级构成、面积编码 | `treemap` 页型 |
|
|
22
|
-
| 分组**分布**(中位/四分位/极值) | `boxplot` 页型 |
|
|
23
|
-
| 节点-边**拓扑关系** | `network` 页型 |
|
|
24
|
-
| **双重编码**(列宽=总量、列高=构成) | `marimekko` 页型 |
|
|
25
|
-
| 时间上的**构成演变**(堆叠平滑带) | `streamgraph` 页型 |
|
|
26
|
-
|
|
27
|
-
**判据**:内容里出现「A 流向 B」「整体由哪些部分组成且占比悬殊」「分布而不是均值」「谁和谁相连」「总量与构成同时重要」「构成随时间变形」→ 用本页型族。
|
|
28
|
-
|
|
29
|
-
## 二、通用铁律(六类页型共享,校验器与双引擎共同执行)
|
|
30
|
-
|
|
31
|
-
1. **采样点下限**:所有曲线/流带边界(桑基流带、流带图带边界)**采样点 ≥16**(流带图 ≥24);**不得用 5–6 点折线冒充平滑带**。
|
|
32
|
-
2. **双边界分别追踪**:流带/流带图必须**分别追踪上边界与下边界**(`trackBothEdges`),不得只画中心线 + 等宽 stroke。
|
|
33
|
-
3. **禁预设形状替代**:不得用 OOXML preset shape(`pie` / `arc` / `blockArc` / `chord` / `moon` / `wave`)或「矩形化近似」替代曲线语义;形状还原一律走「多段旋转矩形沿采样路径铺贴」(B 通道 `ribbonRects`)或 SVG path(HTML 侧)。
|
|
34
|
-
4. **量级线性编码**:带宽 / 节点高 / 列宽 / 箱体位置一律与数值**线性成比例**,不得主观调形。
|
|
35
|
-
5. **数据可追溯**:每类页型的 `chart.dataTable` 策略默认 `notes`(数据表以「表头 | 行」文本写入**演讲者备注**,可复制回 Excel);显式 `inline` 时在图形下方附**原生表格**(自动压缩图形高度,不越界);**不得为 `off`**。
|
|
36
|
-
6. **上限硬约束**(超出即拆页——节点/系列过多是结构容量问题,缩字号无效):桑基节点 ≤12 / 流带 ≤24;树图叶节点 ≤16;箱线组数 ≤8;网络节点 ≤18 / 边 ≤30;马赛克列 ≤6 / 每列段 ≤4;流带系列 ≤6。限内标签偏挤可按 `containers.fontShrink` 有限下探(不低于模式 floor)。
|
|
37
|
-
7. **配色克制**:马赛克/流带的段色只用 `accent / faint / body / line` 四阶(spectrum 风格可用 5 色数据板);桑基节点用 `accent`、流带用 `soft`;**不引入第二色相**。
|
|
38
|
-
8. **文本退到图注级**:页头仍只保留 eyebrow + 主标题 + 可选导语(铁律 14);节点/段标签字号走 `micro`/`caption` 语义层级(`layout-constants.json` `typography` 的 T11/T12)。
|
|
39
|
-
9. **一页一图**:本页型族**每页只放一张信息图**;注解用 `soWhat` / `footnote` / `flags` 槽位,不在图内塞正文段落。
|
|
40
|
-
10. **页型专属,不作 `chart.type`**:这 6 类的载荷是结构化数组(`flows` / `items` / `groups` / `nodes+edges` / `cols+cells` / `series`),只能由 `sections[].type` 承载;`model-schema.json` 的 `chartTypes` 白名单(30 类)**不含**它们——避免 `chart` 对象字段歧义。`sync_runtime.py` 双向校验 `registry.types == chartTypes ∪ 这 6 类`,任何一侧缺失即 WARN(防止「登记了但模型表达不了」或反之)。
|
|
41
|
-
|
|
42
|
-
## 三、六类页型规格
|
|
43
|
-
|
|
1
|
+
# 复杂信息图页型族(逻辑索引 · 铁律与边界)
|
|
2
|
+
|
|
3
|
+
> **何时读本文**:需要复杂大型信息图时先读本文件的**边界判断与通用铁律**(§一/§二)。
|
|
4
|
+
> **代码与规格已拆分**,禁止整读大文件:
|
|
5
|
+
> - 统计图形(桑基/树图/箱线/网络/马赛克/流带)→ `infographics-stats.md`(§1–§6 / §71–§77)
|
|
6
|
+
> - 结构图形(流程/树/时序/闭环)→ `infographics-structure.md`(§78–§82)
|
|
7
|
+
> 取码:`python scripts/extract_snippet.py --chart <类型>` · `--file infographics.md --section <编号>`
|
|
8
|
+
|
|
9
|
+
# 复杂信息图页型族(research / architecture 专属)
|
|
10
|
+
|
|
11
|
+
> **何时读本文**:报告需要承载**复杂大型信息图 / 高密度信息图**(流向、构成、分布、关系、演变)时——即一张图要同时表达「多个主体 + 多重关系 + 数值量级」的场景。生成前先读本文 §一–§五(规范),写法见 §71–§77。
|
|
12
|
+
>
|
|
13
|
+
> 定位:这是「图为王」的**页型级**能力,不是普通图表(36 种内联图表见 `charts.md`)。普通图表回答「一个数是多少」,信息图页型回答「一整套结构长什么样」。
|
|
14
|
+
|
|
15
|
+
## 一、与普通图表的边界(先做这道判断)
|
|
16
|
+
|
|
17
|
+
| 需求特征 | 用什么 |
|
|
18
|
+
|---------|-------|
|
|
19
|
+
| 单一维度对比 / 趋势 / 占比(≤12 个数据点) | 普通图表(`charts.md` §16–§31、§35、§52–§70)+ `bar` / `donut` / `exhibit` 页型 |
|
|
20
|
+
| 多个主体之间的**流向与流量** | `sankey` 页型 |
|
|
21
|
+
| 层级构成、面积编码 | `treemap` 页型 |
|
|
22
|
+
| 分组**分布**(中位/四分位/极值) | `boxplot` 页型 |
|
|
23
|
+
| 节点-边**拓扑关系** | `network` 页型 |
|
|
24
|
+
| **双重编码**(列宽=总量、列高=构成) | `marimekko` 页型 |
|
|
25
|
+
| 时间上的**构成演变**(堆叠平滑带) | `streamgraph` 页型 |
|
|
26
|
+
|
|
27
|
+
**判据**:内容里出现「A 流向 B」「整体由哪些部分组成且占比悬殊」「分布而不是均值」「谁和谁相连」「总量与构成同时重要」「构成随时间变形」→ 用本页型族。
|
|
28
|
+
|
|
29
|
+
## 二、通用铁律(六类页型共享,校验器与双引擎共同执行)
|
|
30
|
+
|
|
31
|
+
1. **采样点下限**:所有曲线/流带边界(桑基流带、流带图带边界)**采样点 ≥16**(流带图 ≥24);**不得用 5–6 点折线冒充平滑带**。
|
|
32
|
+
2. **双边界分别追踪**:流带/流带图必须**分别追踪上边界与下边界**(`trackBothEdges`),不得只画中心线 + 等宽 stroke。
|
|
33
|
+
3. **禁预设形状替代**:不得用 OOXML preset shape(`pie` / `arc` / `blockArc` / `chord` / `moon` / `wave`)或「矩形化近似」替代曲线语义;形状还原一律走「多段旋转矩形沿采样路径铺贴」(B 通道 `ribbonRects`)或 SVG path(HTML 侧)。
|
|
34
|
+
4. **量级线性编码**:带宽 / 节点高 / 列宽 / 箱体位置一律与数值**线性成比例**,不得主观调形。
|
|
35
|
+
5. **数据可追溯**:每类页型的 `chart.dataTable` 策略默认 `notes`(数据表以「表头 | 行」文本写入**演讲者备注**,可复制回 Excel);显式 `inline` 时在图形下方附**原生表格**(自动压缩图形高度,不越界);**不得为 `off`**。
|
|
36
|
+
6. **上限硬约束**(超出即拆页——节点/系列过多是结构容量问题,缩字号无效):桑基节点 ≤12 / 流带 ≤24;树图叶节点 ≤16;箱线组数 ≤8;网络节点 ≤18 / 边 ≤30;马赛克列 ≤6 / 每列段 ≤4;流带系列 ≤6。限内标签偏挤可按 `containers.fontShrink` 有限下探(不低于模式 floor)。
|
|
37
|
+
7. **配色克制**:马赛克/流带的段色只用 `accent / faint / body / line` 四阶(spectrum 风格可用 5 色数据板);桑基节点用 `accent`、流带用 `soft`;**不引入第二色相**。
|
|
38
|
+
8. **文本退到图注级**:页头仍只保留 eyebrow + 主标题 + 可选导语(铁律 14);节点/段标签字号走 `micro`/`caption` 语义层级(`layout-constants.json` `typography` 的 T11/T12)。
|
|
39
|
+
9. **一页一图**:本页型族**每页只放一张信息图**;注解用 `soWhat` / `footnote` / `flags` 槽位,不在图内塞正文段落。
|
|
40
|
+
10. **页型专属,不作 `chart.type`**:这 6 类的载荷是结构化数组(`flows` / `items` / `groups` / `nodes+edges` / `cols+cells` / `series`),只能由 `sections[].type` 承载;`model-schema.json` 的 `chartTypes` 白名单(30 类)**不含**它们——避免 `chart` 对象字段歧义。`sync_runtime.py` 双向校验 `registry.types == chartTypes ∪ 这 6 类`,任何一侧缺失即 WARN(防止「登记了但模型表达不了」或反之)。
|
|
41
|
+
|
|
42
|
+
## 三、六类页型规格
|
|
43
|
+
|