58 lines
3.3 KiB
Markdown
58 lines
3.3 KiB
Markdown
# 新增暗金荒野主题
|
||
|
||
## Goal
|
||
|
||
为 cc-web 新增一个独立的“暗金荒野”视觉主题,忠实吸收用户参考图中的黑铁、旧金、余烬、切角边框和暗黑骑士主视觉,同时保留现有 Warframe 主题供即时切换对比。
|
||
|
||
## What I already know
|
||
|
||
- 用户明确要求新建主题,不直接覆盖当前 Warframe。
|
||
- 用户提供一张完整界面参考、一张 1672×941 背景图和一张 1672×941 图标板,并授权自行切图。
|
||
- 主题必须覆盖现有 cc-web 工作台,而不是单独制作静态展示页。
|
||
- 工作区有其他未提交改动,实施必须精确合并。
|
||
|
||
## Assumptions
|
||
|
||
- 本轮保持现有默认主题不变,仅在主题选择器中新增选项。
|
||
- 原 Warframe 主题保留内部标识 `gilded`;新主题显示名“暗金荒野”,内部标识固定为 `wasteland`。
|
||
- 主题保持现有信息结构与业务交互,不新增功能入口。
|
||
|
||
## Requirements
|
||
|
||
- 新主题可在现有设置/主题选择入口中选择并持久化。
|
||
- 现有 `gilded`(Warframe Wasteland)主题移除隐藏限制和启动迁移,继续可选;用户可在它与 `wasteland`(暗金荒野)之间来回切换对比。
|
||
- 使用用户提供的暗黑骑士图作为全局主背景,并保证聊天文本、导航和弹层可读。
|
||
- 从图标板切出主题所需的代表性图标,作为本地资产接入。
|
||
- 侧栏、顶栏、消息、工具调用块、输入区、按钮、表单、弹层和滚动条使用统一暗金设计语言。
|
||
- 桌面与窄屏布局均不得退化;动效遵守 `prefers-reduced-motion`。
|
||
|
||
## Acceptance Criteria
|
||
|
||
- [ ] 主题选择器中可看到“暗金荒野”和原 Warframe 两个独立选项。
|
||
- [ ] 切换至暗金荒野后刷新页面,主题仍保持。
|
||
- [ ] 用户提供的背景和切分图标均由项目本地静态资源加载。
|
||
- [ ] 主题在常见桌面与移动视口无明显遮挡、溢出或不可读文本。
|
||
- [ ] 主题切换、关键悬停和聚焦有一致且克制的视觉反馈。
|
||
- [ ] 现有自动化回归通过,并补充新主题注册/资源相关断言。
|
||
|
||
## Definition of Done
|
||
|
||
- 静态检查和相关回归测试通过。
|
||
- 至少完成桌面和窄屏两种视口的浏览器视觉验收。
|
||
- 不覆盖用户现有未提交改动,不引入额外前端依赖。
|
||
- 临时 TODO CSV 清理,Trellis 与持久化计划记录收口。
|
||
|
||
## Out of Scope
|
||
|
||
- 重构现有应用信息架构或业务功能。
|
||
- 删除、重命名或替换原 Warframe 主题。
|
||
- 生成新的 AI 背景图或建立通用图标编辑器。
|
||
|
||
## Technical Notes
|
||
|
||
- 优先使用 codebase-memory-mcp 定位主题注册、持久化和测试调用链,再用 `rg`/`sed` 核验行号与未索引静态内容。
|
||
- 前端视觉遵循 `frontend-skill`:以强主视觉为锚点,避免卡片堆叠与无意义装饰,最多一个主强调色。
|
||
- 主题 ID 契约:`gilded` 只对应旧 Warframe,`wasteland` 只对应新暗金荒野,默认 `washi` 不变。
|
||
- 源资产路径:`sessions/_attachments/094d7907-875d-41f4-9985-992c87c9b9cc.webp`(背景)、`sessions/_attachments/43bd9ed6-2ba6-4c9d-bd9d-25b068cb4711.webp`(图标板)、`sessions/_attachments/f01c1388-b603-434a-b226-2ff5771d4925.webp`(完整参考)。
|
||
- 目标资产路径:`public/assets/themes/wasteland/background.webp` 与 `public/assets/themes/wasteland/icons/*.png`。
|