Files
cc-web/.planning/gilded-wasteland-theme/task_plan.md
2026-07-18 10:14:38 +08:00

5.3 KiB
Raw Blame History

新增暗金荒野主题计划

目标

在不替换现有 Warframe 主题的前提下,新增一个可独立选择、可直接对比的“暗金荒野”主题;使用用户提供的背景图和图标板,保持现有功能与响应式布局完整。

阶段

  1. [COMPLETE] 审计现有 gilded/Warframe 未提交实现并建立合并边界
  2. [COMPLETE] 建立主题任务规格与资产方案
  3. [COMPLETE] 切分并优化暗金主题图像资产
  4. [COMPLETE] 新增暗金荒野主题样式与主题注册
  5. [COMPLETE] 补充主题切换和资源回归测试
  6. [IN_PROGRESS] 执行静态检查与自动化回归
  7. [TODO] 启动页面并进行多视口视觉验收
  8. [TODO] 逐项对照参考图复核构图边框与图标

视觉方向

  • 视觉主张:熄灭后的王庭——背景人物必须清晰完整地固定在右侧;界面是悬浮其上的薄黑铁框架,不是把背景压黑后铺满金边卡片。
  • 内容计划:以现有应用工作台为主体,依次统一侧栏导航、聊天消息、工具执行块、输入区和设置/弹层,不新增无业务意义的装饰区块。
  • 交互主张:只保留主题短淡入、旧金线条扫光和按钮 1px 位移;取消余烬粒子与消息逐条入场等抢眼装饰。

视觉返工准则(用户验收失败后追加)

  • 当前版本被用户明确判定为“不像参考图”,不得以自动化通过代替视觉完成。
  • 边框使用 1px、低饱和暗铜和 6–8px 小切角;只在主按钮、输入框、工具执行块保留框架感,普通消息与列表不再全部 clip-path。
  • 面板以近黑半透明层级为主,取消大面积金色渐变、粗边、重投影和卡片化堆叠。
  • 图标继续来自用户图标板,但小控件改用 PNG alpha 作为 CSS mask,统一旧金材质和 18/22/28px 三档尺寸,避免当前 64px 彩色切图直接缩到 22px 的糊、脏、比例失衡。
  • 背景人物必须保持原图清晰度,不加 blur;左侧遮罩和消息面板只保证文字可读,不得覆盖右侧人物主体。
  • 主文字保持用户指定的 #fff。

决策与约束

  • 原 Warframe 保留内部 ID gilded,移除其 hidden 限制和 gilded -> washi 启动迁移,使它重新成为可选主题。
  • 新主题使用独立内部 ID wasteland,显示名“暗金荒野”;不得复用或覆盖 gilded。
  • 主题选择器必须同时展示 gilded(Warframe Wasteland)和 wasteland(暗金荒野),默认主题仍保持 washi。
  • 图标从用户提供的图标板切分为本地主题资产,不依赖运行时 CSS 裁剪。
  • 优先新增隔离文件;修改已有脏文件前先核对差异,避免覆盖用户改动。
  • 不新增前端框架或重量级依赖。

资产清单

  • 完整界面参考:sessions/_attachments/f01c1388-b603-434a-b226-2ff5771d4925.webp
  • 新主题背景源图:sessions/_attachments/094d7907-875d-41f4-9985-992c87c9b9cc.webp
  • 图标板源图:sessions/_attachments/43bd9ed6-2ba6-4c9d-bd9d-25b068cb4711.webp
  • 新建对话欢迎页参考:sessions/_attachments/33cd7ba3-208a-4d7f-9c53-672fcc22f127.webp
  • 新建对话欢迎卡素材板:sessions/_attachments/2b88b81d-c5a8-4d92-a518-afeea691eade.webp
  • 目标背景:public/assets/themes/wasteland/background.webp
  • 目标图标目录:public/assets/themes/wasteland/icons/,输出透明 PNG,优先切分 32px 档的 16 个常用图标。
  • 欢迎卡资产:public/assets/themes/wasteland/frames/welcome-card.png 与 public/assets/themes/wasteland/textures/welcome-card-surface.webp。
  • 常用图标范围:新会话、搜索、下拉、主题、AI、在线状态、附件、发送、停止、设置、用户、终端、复制、刷新、聊天、关闭/确认。

脏改动合并边界

  • 实施前分别审计 public/app.js、public/index.html、public/style.css、scripts/regression.js 和 public/assets/themes/ 的未提交差异。
  • 记录本任务开始前相关文件的差异与资产清单;只追加 wasteland 注册、样式和断言,并对恢复 gilded 可见性做最小精确修改。
  • 不重排或格式化现有大文件,不修改与主题无关的区块。

错误记录

错误 尝试 处理
rg 把以 --target 开头的模式误解析为命令参数 1 后续检索使用 rg -- '<pattern>',不重复原命令
全量回归在专项通过后命中旧 gilded hidden 断言 1 判定为外部运行会话回写 scripts/regression.js;等待共享写入稳定后重新合并当前契约
跨会话协调消息返回 target_running 1 不重复即时发送;先等待目标会话完成当前处理,再查询状态或采用本地最终合并
外部会话第三次回写 gilded hidden、启动迁移和旧 cache bust 3 已满足重复冲突阈值;停止反复覆盖,等待用户停止 定制暗金荒野主题 会话后再做最终合并与全量回归
用户视觉验收明确失败:边框、图标、整体质感不像参考图 1 回滚“实现完成”判断;建立本地可截图 mock,逐项按参考图重做并新增最终对照步骤
Headless Firefox 无法输出本地视觉 mock 截图 2 默认 profile 超时;独立 profile 又因 SWGL framebuffer 映射失败,环境无 Xvfb;停止重复尝试,不安装依赖,改用参考图几何审计 + 用户实时页面反馈