feat(skills): E2E 验证通过 + 首个交付包(mp-00-visitor) + .design/tokens.yml

全管线验证结果:
- parse: 22 tokens, 5 screens, 7 components
- screenshots: 5/5 PNG 截图(2x 高清,裁掉设备框)
- token match: 20/22 matched (19 confirmed, 14 pending, 2 unmatched)
- interactions: 5/8 rules matched

交付包: docs/design/mp-00-visitor/
- screenshots/ (5 PNG)
- tokens.json (三层匹配结果)
- META.yml (元数据)

配置: .design/tokens.yml (项目级 Token 配置)
This commit is contained in:
iven
2026-05-18 00:08:05 +08:00
parent 63a9dac9d3
commit c26ca9088b
8 changed files with 711 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
prototype: mp-00-visitor.html
source: docs/design/mp-00-visitor.html
generated_at: "2026-05-18T00:07:00+08:00"
tokens:
matched: 20
unmatched: 2
confirmed: 19
pending: 14
approximate: 1
components:
total: 7
mapped: 0
new: 0
interactions: 5
screens: 5

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

View File

@@ -0,0 +1,291 @@
{
"source": null,
"matched": {
"T.pri": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri",
"scssVar": null,
"prototypeValue": "#C4623A",
"tokenValue": "#C4623A"
},
"T.priL": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri-l",
"scssVar": null,
"prototypeValue": "#F0DDD4",
"tokenValue": "#F0DDD4"
},
"T.priD": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-pri-d",
"scssVar": null,
"prototypeValue": "#8B3E1F",
"tokenValue": "#8B3E1F"
},
"T.bg": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$bg",
"tokenValue": "#F5F0EB",
"note": "原型页面背景色tokens.scss 未声明为 CSS 变量,直接用 $bg SCSS 变量",
"prototypeValue": "#F5F0EB"
},
"T.card": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-card-bg",
"scssVar": null,
"prototypeValue": "#FFFFFF",
"tokenValue": "#FFFFFF"
},
"T.surface": {
"method": "alias",
"confidence": "approximate",
"token": "--tk-card-bg",
"scssVar": null,
"note": "原型中 surface ≈ 卡片白底",
"prototypeValue": "#EDE8E2",
"tokenValue": "#FFFFFF"
},
"T.tx": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$tx",
"tokenValue": "#2D2A26",
"note": "主文字色tokens.scss 未声明为 CSS 变量,直接用 $tx SCSS 变量",
"prototypeValue": "#2D2A26"
},
"T.tx2": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$tx2",
"tokenValue": "#5A554F",
"note": "次文字色tokens.scss 未声明elder-mode 下 --tk-text-secondary 覆盖为此值",
"prototypeValue": "#5A554F"
},
"T.tx3": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-text-secondary",
"scssVar": "$tx3",
"prototypeValue": "#78716C",
"tokenValue": "#78716C"
},
"T.bd": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$bd",
"tokenValue": "#E8E2DC",
"note": "边框色不是圆角tokens.scss 未声明为 CSS 变量",
"prototypeValue": "#E8E2DC"
},
"T.bdL": {
"token": null,
"scssVar": "$bd-l",
"prototypeValue": "#F0EBE5",
"tokenValue": "#F0EBE5",
"method": "value_exact",
"confidence": "pending",
"role": "浅边框色",
"note": "匹配到 SCSS 变量 $bd-l但无对应 CSS Token"
},
"T.acc": {
"token": null,
"scssVar": "$acc",
"prototypeValue": "#5B7A5E",
"tokenValue": "#5B7A5E",
"method": "value_exact",
"confidence": "pending",
"role": "鼠尾草绿/成功色",
"note": "匹配到 SCSS 变量 $acc但无对应 CSS Token"
},
"T.accL": {
"token": null,
"scssVar": "$acc-l",
"prototypeValue": "#E8F0E8",
"tokenValue": "#E8F0E8",
"method": "value_exact",
"confidence": "pending",
"role": "成功浅色",
"note": "匹配到 SCSS 变量 $acc-l但无对应 CSS Token"
},
"T.wrn": {
"token": null,
"scssVar": "$wrn",
"prototypeValue": "#C4873A",
"tokenValue": "#C4873A",
"method": "value_exact",
"confidence": "pending",
"role": "警告色/暖琥珀",
"note": "匹配到 SCSS 变量 $wrn但无对应 CSS Token"
},
"T.wrnL": {
"token": null,
"scssVar": "$wrn-l",
"prototypeValue": "#FFF3E0",
"tokenValue": "#FFF3E0",
"method": "value_exact",
"confidence": "pending",
"role": "警告浅色",
"note": "匹配到 SCSS 变量 $wrn-l但无对应 CSS Token"
},
"T.dan": {
"token": null,
"scssVar": "$dan",
"prototypeValue": "#B54A4A",
"tokenValue": "#B54A4A",
"method": "value_exact",
"confidence": "pending",
"role": "危险色/柔红",
"note": "匹配到 SCSS 变量 $dan但无对应 CSS Token"
},
"T.danL": {
"token": null,
"scssVar": "$dan-l",
"prototypeValue": "#FDEAEA",
"tokenValue": "#FDEAEA",
"method": "value_exact",
"confidence": "pending",
"role": "危险浅色",
"note": "匹配到 SCSS 变量 $dan-l但无对应 CSS Token"
},
"T.r": {
"method": "alias",
"confidence": "confirmed",
"token": "--tk-card-radius",
"scssVar": "$r",
"prototypeValue": "16",
"tokenValue": "16px"
},
"T.rSm": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$r-sm",
"tokenValue": "12px",
"note": "tokens.scss 未声明,需添加 --tk-radius-sm 或直接用 $r-sm SCSS 变量",
"prototypeValue": "12"
},
"T.rXs": {
"method": "alias",
"confidence": "pending",
"token": null,
"scssVar": "$r-xs",
"tokenValue": "8px",
"note": "tokens.scss 未声明,需添加 --tk-radius-xs 或直接用 $r-xs SCSS 变量",
"prototypeValue": "8"
}
},
"unmatched": [
"T.serif",
"T.sans"
],
"inlineTokenMap": {
"fontSize:28": {
"token": "--tk-font-h1",
"tokenValue": "28px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:22": {
"token": "--tk-font-h2",
"tokenValue": "22px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:18": {
"token": "--tk-font-body-lg",
"tokenValue": "18px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:16": {
"token": "--tk-font-body",
"tokenValue": "16px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:14": {
"token": "--tk-font-body-sm",
"tokenValue": "14px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:13": {
"token": "--tk-font-cap",
"tokenValue": "13px",
"confidence": "confirmed",
"method": "value_exact"
},
"fontSize:11": {
"token": "--tk-font-micro",
"tokenValue": "11px",
"confidence": "confirmed",
"method": "value_exact"
},
"padding:20": {
"token": "--tk-section-gap",
"scssVar": "$sp-section",
"tokenValue": "20px",
"confidence": "confirmed",
"method": "value_exact"
},
"padding:16": {
"token": "--tk-gap-md",
"scssVar": "$sp-md",
"tokenValue": "16px",
"confidence": "confirmed",
"method": "value_exact"
},
"padding:12": {
"token": "--tk-gap-sm",
"scssVar": "$sp-sm",
"tokenValue": "12px",
"confidence": "confirmed",
"method": "value_exact"
},
"borderRadius:20": {
"token": null,
"scssVar": "$r-lg",
"tokenValue": "20px",
"confidence": "pending",
"method": "value_exact",
"note": "匹配到 SCSS 变量 $r-lg但无对应 CSS Token"
},
"gap:16": {
"token": "--tk-gap-md",
"scssVar": "$sp-md",
"tokenValue": "16px",
"confidence": "confirmed",
"method": "value_exact"
},
"lineHeight:1.5": {
"token": "--tk-line-height",
"tokenValue": "1.5",
"confidence": "confirmed",
"method": "value_exact"
},
"height:52": {
"token": "--tk-btn-primary-h",
"tokenValue": "52px",
"confidence": "confirmed",
"method": "value_exact"
}
},
"summary": {
"total": 102,
"aliasTokens": 22,
"inlineValues": 80,
"confirmed": 19,
"pending": 14,
"approximate": 1,
"unmatched": 2
}
}