feat(tools): 代码端真相源闸 check_ds_code + 外壳硬编码颜色清零

把原型 check-ds 的「单一真源」纪律延伸到 Flutter 代码:
- client/tool/check_ds_code.mjs:扫 lib/(排除.g.dart) 硬编码 Color(0x..)/Colors.具名色,
  --strict/--changed 报错挡提交,合理特例须显式 // ds-ignore: 理由
- tokens.css(单源,client+原型同步) 加 chrome 前景色 --brand-dot/--on-accent/--on-accent-faint,
  codegen 进 AppChrome;外壳 14 处硬编码(白字/品牌点/grace橙)全部改走 token
- 外壳+3 新 widget 现 0 违规;全量存量 172→158(其余屏后续逐步清)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TSKEiHsvauyxYUW2itzUXX
This commit is contained in:
wangjia
2026-06-25 19:14:47 +08:00
parent d85d68574d
commit 23a583918d
6 changed files with 106 additions and 17 deletions
+3 -1
View File
@@ -128,7 +128,9 @@ const CHROME = {
'statusbar-bg':'statusbarBg','statusbar-fg':'statusbarFg','statusbar-muted':'statusbarMuted',
'statusbar-strong':'statusbarStrong','statusbar-div':'statusbarDiv','statusbar-ok':'statusbarOk',
// 品牌标识色(固定不随主题)
'brand-deep':'brandDeep','brand-mid':'brandMid','brand-wine':'brandWine',
'brand-deep':'brandDeep','brand-mid':'brandMid','brand-wine':'brandWine','brand-dot':'brandDot',
// 彩色底上的固定前景白(横幅/徽章/品牌弹窗 chrome 前景)
'on-accent':'onAccent','on-accent-faint':'onAccentFaint',
// 遮罩 / 玻璃叠加
'scrim':'scrim','hero-glass':'heroGlass','hero-glass-strong':'heroGlassStrong',
// Toast 深底