@lark-apaas/coding-steering 0.1.18-dev.e2d9278 → 0.1.18-dev.ec88bb5
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/README.md +19 -21
- package/package.json +1 -1
- package/steering/design-html/skills/animated-video/SKILL.md +2 -2
- package/steering/design-html/skills/charts/SKILL.md +48 -7
- package/steering/design-html/skills/{data-report → data-viz}/SKILL.md +65 -9
- package/steering/design-html/skills/frontend-design/SKILL.md +2 -2
- package/steering/design-html/skills/interactive-prototype/SKILL.md +35 -2
- package/steering/design-html/skills/mini-game/SKILL.md +71 -0
- package/steering/design-html/skills/mini-game/references/three-js.md +54 -0
- package/steering/design-html/skills/pptx-style-extract/SKILL.md +112 -0
- package/steering/design-html/skills/pptx-style-extract/font-fallback.yaml +129 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/census.py +955 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/check_v2.py +907 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/draft.py +945 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/export_consumer_md.py +75 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/export_consumer_zip.py +175 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/extract.py +765 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/ooxml.py +699 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/package.py +1120 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/parts.py +461 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/query.py +562 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/render_pages.py +679 -0
- package/steering/design-html/skills/pptx-style-extract/scripts/verify_font.py +68 -0
- package/steering/design-html/skills/pptx-style-extract/v2-format-spec.md +193 -0
- package/steering/design-html/skills/preflight/SKILL.md +51 -0
- package/steering/design-html/skills/preflight/scripts/probe.sh +108 -0
- package/steering/design-html/skills/slide-deck/SKILL.md +165 -0
- package/steering/design-html/skills/{visual-exposure → visual-report}/SKILL.md +24 -2
- package/steering/nestjs-react-fullstack/skills_common/trigger-guide/SKILL.md +180 -0
- package/steering/nestjs-react-fullstack/{skills/trigger-guide/SKILL.md → skills_common/trigger-guide/references/trigger-lifecycle.md} +11 -162
- package/steering/design-html/skills/make-a-deck/SKILL.md +0 -209
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# 商业字体降级映射表(随 skill 分发,E5:初始 20+ 族)
|
|
2
|
+
#
|
|
3
|
+
# 消费方:L4 字体角色分配。直读本文件文本即可,不依赖 yaml 库。
|
|
4
|
+
# 命中 families[].match 中任一名字(含碎片化变体)→ 降级链写进 fontFamily 栈:
|
|
5
|
+
# 原始名留栈首,fallback 依序追加,末位永远可加系统兜底
|
|
6
|
+
# `"PingFang SC", "Microsoft YaHei", sans-serif`。
|
|
7
|
+
# 查无对应 → 按 dsm-v1-spec.md 的气质候选清单选近似体 + 记 gaps,不编造。
|
|
8
|
+
# 匹配纪律:先做字体名归一化聚类(中文名/拉丁名、weight 后缀剥离、31 字符截断),
|
|
9
|
+
# 再拿聚类后的 family 与 match 逐条比对(大小写不敏感、忽略空格/连字符)。
|
|
10
|
+
|
|
11
|
+
version: 2
|
|
12
|
+
|
|
13
|
+
# fallback 用到的 web 字体实测状态(镜像 https://miaoda.feishu.cn/fonts/css2)。
|
|
14
|
+
# verified: true = 该镜像已 curl 实测返回 @font-face(2026-08-06)。
|
|
15
|
+
# 状态过期不影响正确性:L4 对 verified 为 false 或存疑的字体按 dsm-v1-spec 字体条款
|
|
16
|
+
# 重新 curl 实测后再用,加载不到降到下一档。
|
|
17
|
+
web-fonts:
|
|
18
|
+
"Noto Sans SC": {verified: true}
|
|
19
|
+
"Noto Serif SC": {verified: true}
|
|
20
|
+
"ZCOOL XiaoWei": {verified: true}
|
|
21
|
+
"ZCOOL QingKe HuangYou": {verified: true}
|
|
22
|
+
"Ma Shan Zheng": {verified: true}
|
|
23
|
+
"Inter": {verified: true}
|
|
24
|
+
"Montserrat": {verified: true}
|
|
25
|
+
"Barlow": {verified: true}
|
|
26
|
+
"Jost": {verified: true}
|
|
27
|
+
"Nunito Sans": {verified: true}
|
|
28
|
+
"Roboto Condensed": {verified: true}
|
|
29
|
+
"Arial": {verified: system} # 系统字体,不走镜像
|
|
30
|
+
|
|
31
|
+
families:
|
|
32
|
+
# ---- 方正系 ----
|
|
33
|
+
- family: 方正兰亭黑
|
|
34
|
+
match: [方正兰亭黑Pro_GB18030, FZLanTingHeiPro, FZLanTingHeiPro_GB18030, FZLTHProS-R--GB1-0, FZLTHProS, 方正兰亭黑]
|
|
35
|
+
category: sans
|
|
36
|
+
fallback: ["Noto Sans SC"]
|
|
37
|
+
- family: 方正兰亭圆
|
|
38
|
+
match: [方正兰亭圆, FZLanTingYuan, FZLTYuanS]
|
|
39
|
+
category: rounded
|
|
40
|
+
fallback: ["ZCOOL XiaoWei", "Noto Sans SC"]
|
|
41
|
+
- family: 方正准圆
|
|
42
|
+
match: [方正准圆, FZZhunYuan, FZY3JW]
|
|
43
|
+
category: rounded
|
|
44
|
+
fallback: ["ZCOOL XiaoWei", "Noto Sans SC"]
|
|
45
|
+
- family: 方正书宋/宋体系
|
|
46
|
+
match: [方正书宋, FZShuSong, 方正宋体, FZSongS]
|
|
47
|
+
category: serif
|
|
48
|
+
fallback: ["Noto Serif SC"]
|
|
49
|
+
|
|
50
|
+
# ---- 汉仪系 ----
|
|
51
|
+
- family: 汉仪旗黑
|
|
52
|
+
match: [汉仪旗黑, HYQiHei, HYQiHeiX]
|
|
53
|
+
category: sans
|
|
54
|
+
fallback: ["Noto Sans SC"]
|
|
55
|
+
- family: 汉仪文黑
|
|
56
|
+
match: [汉仪文黑, HYWenHei]
|
|
57
|
+
category: sans
|
|
58
|
+
fallback: ["Noto Sans SC"]
|
|
59
|
+
- family: 汉仪菱心体
|
|
60
|
+
match: [汉仪菱心体, HYLingXin]
|
|
61
|
+
category: display
|
|
62
|
+
fallback: ["ZCOOL QingKe HuangYou", "Noto Sans SC"]
|
|
63
|
+
- family: 汉仪粗黑
|
|
64
|
+
match: [汉仪粗黑, HYCuHei]
|
|
65
|
+
category: display
|
|
66
|
+
fallback: ["Noto Sans SC"]
|
|
67
|
+
weight-hint: 900
|
|
68
|
+
|
|
69
|
+
# ---- 系统/厂商中文 ----
|
|
70
|
+
- family: 苹方
|
|
71
|
+
match: [苹方, PingFang SC, PingFangSC, 苹方-简]
|
|
72
|
+
category: sans
|
|
73
|
+
fallback: ["Noto Sans SC"]
|
|
74
|
+
- family: 微软雅黑
|
|
75
|
+
match: [微软雅黑, Microsoft YaHei, MicrosoftYaHei, 微软雅黑 UI]
|
|
76
|
+
category: sans
|
|
77
|
+
fallback: ["Noto Sans SC"]
|
|
78
|
+
- family: 等线
|
|
79
|
+
match: [等线, DengXian, 等线 Light, DengXian Light]
|
|
80
|
+
category: sans
|
|
81
|
+
fallback: ["Noto Sans SC"]
|
|
82
|
+
- family: 华文黑体
|
|
83
|
+
match: [华文黑体, STHeiti, 华文细黑, STXihei]
|
|
84
|
+
category: sans
|
|
85
|
+
fallback: ["Noto Sans SC"]
|
|
86
|
+
- family: 华文宋体/楷体
|
|
87
|
+
match: [华文宋体, STSong, 华文楷体, STKaiti, 楷体, KaiTi]
|
|
88
|
+
category: serif
|
|
89
|
+
fallback: ["Noto Serif SC"] # 手写楷气质另可选 Ma Shan Zheng,按场景判断
|
|
90
|
+
- family: 思源黑体
|
|
91
|
+
match: [思源黑体, Source Han Sans, Source Han Sans SC, SourceHanSansSC, 思源黑体 CN]
|
|
92
|
+
category: sans
|
|
93
|
+
fallback: ["Noto Sans SC"] # 同源设计,无损替换
|
|
94
|
+
- family: 思源宋体
|
|
95
|
+
match: [思源宋体, Source Han Serif, Source Han Serif SC, SourceHanSerifSC]
|
|
96
|
+
category: serif
|
|
97
|
+
fallback: ["Noto Serif SC"] # 同源设计,无损替换
|
|
98
|
+
|
|
99
|
+
# ---- 互联网厂商定制体 ----
|
|
100
|
+
- family: 阿里巴巴普惠体
|
|
101
|
+
match: [阿里巴巴普惠体, Alibaba PuHuiTi, AlibabaPuHuiTi]
|
|
102
|
+
category: sans
|
|
103
|
+
fallback: ["Noto Sans SC"]
|
|
104
|
+
- family: 字节跳动定制体
|
|
105
|
+
match: [Byte Sans, ByteDance Sans, Douyin Sans]
|
|
106
|
+
category: sans
|
|
107
|
+
fallback: ["Noto Sans SC"]
|
|
108
|
+
- family: 小米/OPPO/荣耀定制体
|
|
109
|
+
match: [MiSans, OPPO Sans, HarmonyOS Sans, HONOR Sans]
|
|
110
|
+
category: sans
|
|
111
|
+
fallback: ["Noto Sans SC"]
|
|
112
|
+
|
|
113
|
+
# ---- 拉丁商业体 ----
|
|
114
|
+
- family: Helvetica Neue
|
|
115
|
+
match: [Helvetica Neue, HelveticaNeue, Helvetica Neue Medium, Helvetica]
|
|
116
|
+
category: sans-latin
|
|
117
|
+
fallback: ["Inter", "Arial"]
|
|
118
|
+
- family: Gotham / Proxima Nova
|
|
119
|
+
match: [Gotham, Proxima Nova, ProximaNova]
|
|
120
|
+
category: sans-latin
|
|
121
|
+
fallback: ["Montserrat", "Inter"]
|
|
122
|
+
- family: DIN
|
|
123
|
+
match: [DIN, DIN Pro, DIN Next, FF DIN]
|
|
124
|
+
category: sans-latin
|
|
125
|
+
fallback: ["Barlow", "Roboto Condensed"]
|
|
126
|
+
- family: Futura / Avenir
|
|
127
|
+
match: [Futura, Avenir, Avenir Next]
|
|
128
|
+
category: sans-latin
|
|
129
|
+
fallback: ["Jost", "Nunito Sans"]
|