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

7.5 KiB
Raw Blame History

Warframe 饱满主题重做计划

目标

参考用户提供的三套高完成度 Codex 主题,把隐藏的 gilded 重做为真正覆盖完整工作台的 Warframe 主题。主题必须使用一个统一主视觉,而不是海报拼贴;图片、侧栏、欢迎区、 输入区、按钮、会话选中态和聊天阅读表面共享同一套 Orokin 视觉语言,同时保持高 对比度、真实功能和移动端可用性。

视觉策略

  • 视觉论点: 日照下展开的 Orokin 荒野任务档案;暖象牙与旧纸灰构成整页底色,深炭 文字保证阅读,暗金/焦土铜形成骨架,冷青能量只作少量节点。荒野 Warframe 角色是唯一 主角,背景扩展成横向场景,界面元素像同一套档案与传识控制台。
  • 内容规划: 侧栏继续负责历史与项目;欢迎态只使用原有欢迎标题、说明和一个横向 主视觉;输入区保持原有内容与行为;聊天态回归高对比阅读。
  • 交互论点: 主视觉仅做轻微景深进场;现有会话项、按钮和输入框沿用统一的短促 过渡与焦点反馈;减少动态模式完全关闭。

执行步骤

  1. [complete] 分析参考主题并冻结完整美术策略
  2. [complete] 审核单一 Warframe 主视觉融合方案
  3. [complete] 清理欢迎态越界交互并保留纯视觉结构
  4. [complete] 统一侧栏标题输入聊天的主题语言
  5. [complete] 完成桌面窄屏移动响应式
  6. [complete] 更新主题显隐缓存与回归契约
  7. [complete] 执行 Firefox 三档截图审查并迭代
  8. [complete] 运行专项全量回归与资源检查

设计边界

  • 保留 gilded-wasteland.png 原图和三张本地参考画作,不覆盖或删除源文件。
  • 新主视觉只使用原始荒野图,通过无边框 <img>、渐隐 mask、裁切定位和同色背景扩展为 单一连续横幅;其他三张画作只提供材质、光色判断,不作为页面图片节点。
  • 欢迎态只允许一个强主视觉;不得新增快捷入口、预设提示词、任务/KPI/数据或点击填充逻辑。
  • 保留项目原有欢迎标题、说明、输入内容和输入行为;主题只改变视觉呈现。
  • 主题装饰使用低对比纹样、Orokin 圆弧/金属细线和少量能量青;常规表面采用暖象牙/旧纸 实色而非大片黑色,正文、菜单、输入和消息均保持不透明,不能让图片进入长文本背后。
  • 主文字、次文字、弱文字在真实表面分别至少达到 7:1、5.5:1、4.5:1按钮文字至少 7:1。
  • 非 gilded 主题结构和视觉不得变化gilded 在最终截图审查通过前保持隐藏。

完成度参考标尺

以下三张是“主题完成度与页面密度”参考,不是 Warframe 生成素材:

  1. sessions/_attachments/8a89945c-786c-45e2-b027-98bd8e71eb6e.png:全宽人物横幅、 4 个紧邻功能入口、手绘母题贯穿侧栏/横幅/输入区,首屏无大面积无职责空白。
  2. sessions/_attachments/6730f205-d39c-47fe-b6df-c02e429eb8fd.png:角色与场景道具融入 横幅、云纹/金币贯穿整页、侧栏信息密度高、功能入口和输入区形成连续工作流。
  3. sessions/_attachments/f3d3d9b2-67a1-49ab-bab5-d6f250ffd837.png:单人物横幅、统一低 饱和母题、4 个功能入口和宽输入区共同占满首屏,主题不是局部换色。

本轮对应标准:一个全宽横向 Warframe 主视觉Orokin 弧线、暗金日轮、冷青能量节点和 焦土叶片贯穿侧栏、横幅与输入区;禁止海报拼贴、大面积黑洞和额外功能入口。

以下四张是 Warframe 主图/材质参考:

  • public/assets/themes/gilded-wasteland.png:唯一页面图片与角色/身份来源。
  • public/assets/themes/warframe-sacrifice.jpg:仅提供黑金雕纹和日轮材质。
  • public/assets/themes/warframe-orokin-figure.jpg:仅提供冷青边光。
  • public/assets/themes/warframe-ember-squad.jpg:仅提供少量远景落日橙。

主视觉资产契约

  • 保留 public/assets/themes/gilded-wasteland.png 原文件、1000×1500 尺寸与既有 SHA-256。
  • 横幅容器约 2.4:1原图作为绝对定位 <img> 占右侧约 58%,使用 object-fit: coverobject-position 和左右/上下 mask 融入容器,不能出现完整矩形海报边框或四角孔洞。
  • 左侧约 42% 使用从原图提取的暖灰、焦土橙和暗金同色背景扩展,叠加低对比 Orokin 日轮、 弧线与焦土叶片,为 HTML 文案提供稳定安全区。
  • 禁止额外人物、Logo、图片内文字、UI、卡片、面板、拼贴和分屏其他三张海报不出现在 DOM。

隐藏状态预览路径

  • /tmp/warframe-rich-preview.html 建立只读临时预览:<html data-theme="gilded"> 引用当前服务的 CSS/本地资产并复制真实欢迎 DOM不加载 app.js,从而绕过隐藏主题迁移。
  • Firefox 使用该预览完成 1440/1024/390 三档截图;主线程查看并通过后,才在 app/index 中取消 hiddengilded → washi 启动迁移,再对真实页面做静态与回归检查。

响应式验收

  • 1440×900侧栏完整主视觉、原有欢迎文案和输入区同时进入首屏。
  • 1024×768主视觉与文案仍在首屏不横向裁切输入区完整。
  • 390×844隐藏侧栏后为单列主视觉保留主体和文字安全区输入区不遮挡。

完成标准

  • 原始主视觉资产保持固定尺寸/hash并由本地服务返回 HTTP 200 image/png;欢迎横幅通过 HTML/CSS 将其融合为连续场景,回归断言页面只有这一张 Warframe 图片节点。
  • 动态与静态欢迎 DOM 一致;不存在主题专属快捷按钮、预设提示词或输入框填充逻辑。
  • 侧栏、标题栏、欢迎态、输入区、按钮、菜单、气泡形成统一主题,不是纯换色。
  • npm run regression -- --target gilded-themenpm run regressiongit diff --check 通过。
  • Firefox 1440×900、1024×768、390×844 截图均由主线程查看并记录结论;只有通过后才取消隐藏。

风险与约束

  • 工作树已有其他未提交改动,只修改 Warframe 主题相关区块、欢迎态和对应回归。
  • 已尝试的 GPT Image CLI 获取路径全部失败且 host-native imagegen 未挂载;不继续安装或调用 其他模型。最终方案改为保留原图的确定性融合构图,必须通过三档 Firefox 截图;若仍像矩形 海报或出现大面积空洞,则保持主题隐藏,不能以“工具不可用”为由降低视觉标准。
  • 不重启 cc-web除非必须加载服务端变更且确认只有当前会话在运行。

错误记录

  • uv run scripts/generate.py --help 在启动器的 GitHub transient fallback 处失败,输出 Failed to resolve --with requirement / Git operation failed;未安装全局工具、未产生图片。
  • proxyd-accelerator 将公开 GitHub URL 改为 proxyd 单次前缀后仍出现同一 Git operation failed不重复代理 URL下一次按项目说明改用局域网代理 11.144.144.9:7890 访问官方源。
  • 局域网代理访问官方 GitHub 仍返回同一 Git operation failed三条 CLI 路径均已停止。
  • 当前会话 ALL_TOOLS 未提供 built-in image_gen,无法使用 host-native 生成;改用保留原图 的 HTML/CSS 渐隐融合构图,验收标准不降低。
  • codebase-memory MCP 的 index_statussearch_graph 本轮返回 Transport closed;按项目 约定降级为 rg/sed 精确定位,最终行号再做本地交叉验证。