修复 AGC 模板库筛选与卡片状态的表现缺陷
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled

- 模板库筛选区改用共享筛选条与标签 chip:选中为实心品牌填充 + 反白文字,未选为浅底描边
- 未选中悬停不再借用品牌色(品牌色专属已选中),状态阶梯固定为静止 / 悬停 / 按下 / 选中
- 新增 getPlatformCategoryChipClassName 收敛筛选 chip 类名口径,模板库、资源画布、参考图弹窗与平台 Web 端共用
- PlatformSegmentedTabs 增加 accent 选中口径,与筛选 chip 共用 --platform-chip-* 语义色
- 修复卡片文字区按 grid auto 行排版导致的标题 / 简介 / 标签被裁:行高契约拆为分项常量,文字区固定 174
- 修复忙状态下动作行塞入第三个元素导致的按钮文案换行顶出卡片:忙状态写在触发它的按钮上
- 修复经典滚动条占宽导致的卡片区横向滚动条:按竖滚动条预留列宽后再算列宽行高
- 焦点环由 15% 透明度改为实心色并用 outline 绘制,选中项聚焦不再被状态投影盖掉
- 封面加载失败改为隐藏图片留中性底色,不再出现浏览器裂图图标
- 补充状态对比度、行高契约、滚动条预留、封面兜底与忙状态文案的回归测试
- 同步技术方案、踩坑记录与决策记录的口径
This commit is contained in:
kdletters
2026-09-23 16:46:49 +08:00
parent e8d987c207
commit e072c66ce9
21 changed files with 697 additions and 167 deletions
+23 -2
View File
@@ -75,6 +75,15 @@
--platform-cool-border: rgba(199, 117, 76, 0.24);
--platform-cool-bg: rgba(238, 208, 183, 0.26);
--platform-cool-text: #b76038;
/* 筛选 chip 的两态:未选是浅底描边,选中是**实心填充**。选中填充必须深到
白字仍过 WCAG AA,并且与未选底色的对比 ≥ 3:1 —— 否则「选中 / 未选中」
在米色页面上肉眼分不出来(旧口径两态对比只有 1.09:1)。
口径由 apps/ai-game-creator-shell/tests/workbenchThemeContrast.test.ts 钉住。 */
--platform-chip-idle-fill: rgba(255, 253, 250, 0.72);
--platform-chip-active-fill: linear-gradient(135deg, #b3542f, #8f3f22);
--platform-chip-active-border: #7d3719;
--platform-chip-active-text: #fffaf5;
--platform-chip-active-shadow: 0 6px 14px rgba(150, 71, 39, 0.24);
--platform-neutral-border: rgba(226, 203, 184, 0.44);
--platform-neutral-bg: rgba(255, 253, 250, 0.7);
--platform-neutral-text: #7b6150;
@@ -150,7 +159,10 @@
--platform-input-fill: rgba(255, 253, 250, 0.94);
--platform-input-fill-focus: rgba(255, 254, 252, 0.96);
--platform-input-highlight: rgba(255, 255, 255, 0.9);
--platform-input-focus-ring: rgba(204, 117, 76, 0.15);
/* 焦点环必须**看得见**:原来 15% 透明度合成到页面底色后只有 1.17:1,键盘用户
根本看不到焦点在哪。改成实心品牌色,对页面底色 4.3:1(≥ WCAG 非文本对比 3:1),
由 tests/workbenchThemeContrast.test.ts 钉住。 */
--platform-input-focus-ring: #b6623f;
--platform-nav-item-text: #80695a;
--platform-nav-item-text-active: #3d1f10;
--platform-nav-item-hover-fill: rgba(253, 248, 243, 0.94);
@@ -343,6 +355,14 @@
--platform-cool-border: rgba(103, 232, 249, 0.22);
--platform-cool-bg: rgba(8, 145, 178, 0.14);
--platform-cool-text: rgb(236 254 255);
/* 同浅色主题:选中态是实心填充。深色皮肤里「填充比底色更亮」才是可分辨的选中,
所以这里用亮靛蓝填充 + 深色文字,同时在渐变两端都满足
「文字 ≥ 4.5:1」「与未选底色 ≥ 3:1」。 */
--platform-chip-idle-fill: rgba(255, 255, 255, 0.05);
--platform-chip-active-fill: linear-gradient(135deg, #9fb0ff, #7b8cff);
--platform-chip-active-border: #b7c4ff;
--platform-chip-active-text: #0b1030;
--platform-chip-active-shadow: 0 8px 18px rgba(77, 92, 245, 0.32);
--platform-neutral-border: rgba(255, 255, 255, 0.08);
--platform-neutral-bg: rgba(255, 255, 255, 0.05);
--platform-neutral-text: rgb(228 228 231);
@@ -414,7 +434,8 @@
--platform-input-fill: rgba(255, 255, 255, 0.05);
--platform-input-fill-focus: rgba(255, 255, 255, 0.08);
--platform-input-highlight: rgba(255, 255, 255, 0.06);
--platform-input-focus-ring: rgba(91, 108, 255, 0.22);
/* 同浅色主题:深色皮肤用亮靛蓝焦点环,对深色底色 6.5:1。 */
--platform-input-focus-ring: #9fb0ff;
--platform-nav-item-text: rgb(161 161 170);
--platform-nav-item-text-active: rgb(238 248 255);
--platform-nav-item-hover-fill: rgba(91, 108, 255, 0.08);