chore: rebuild release package

This commit is contained in:
shiyue
2026-07-18 10:14:38 +08:00
parent fa15b54469
commit a76de06c47
112 changed files with 8858 additions and 399 deletions

View File

@@ -0,0 +1,127 @@
# cc-web 主题完成验收清单
把本清单作为完成门禁。任一强制项未验证时,保持任务未完成并说明原因。
## 1. 范围与隔离
- [ ] 新主题使用独立稳定 ID,未覆盖现有主题。
- [ ] `THEME_OPTIONS`、bootstrap、持久化和 picker 的语义一致。
- [ ] 现有主题仍可选择/迁移,并通过其专项回归。
- [ ] 所有专属 selector 都限定新主题 ID。
- [ ] 未修改主题无关业务逻辑、交互或大文件格式。
- [ ] 已复核相关脏文件,没有覆盖用户或并行任务改动。
## 2. 源素材与派生资产
- [ ] 概念图、完整参考、背景和素材板已归档到任务目录。
- [ ] 归档文件与原始输入 hash 已核对。
- [ ] 生成脚本和 manifest 已保留且可重放。
- [ ] 派生资产记录源文件、裁剪框、规格、尺寸和用途。
- [ ] 透明 PNG 无棋盘格、黑边或被裁掉的尖角。
- [ ] 图标 alpha 主体尺寸和光学中心符合控件层级。
- [ ] 所有运行时资产位于 `public/assets/themes/<id>/`。
- [ ] 主题实现与 manifest 不包含远程图片 URL。
## 3. DOM 与组件实现
- [ ] 静态 `index.html` 与动态 welcome 构建函数结构同步。
- [ ] 项目名、Agent、会话标题等动态内容没有写死。
- [ ] 新主题图标未与原生文字、SVG、图片或旧伪元素重叠。
- [ ] 新会话加号、下拉、操作菜单和设置入口仍可见、可点击。
- [ ] 菜单展开不被父级 overflow 裁切。
- [ ] 固定框与动态尺寸框使用了合适的切片策略。
- [ ] 输入框单行、多行、聚焦、拖拽和特殊模式都没有双边框或错位。
- [ ] 工具块、协作卡、弹层和消息嵌套层没有意外不透明底色。
- [ ] `prefers-reduced-motion` 能关闭主题动画/过渡。
## 4. 视觉对照
### 参考视口
- [ ] 在参考图原始尺寸或同等宽高比下截图/检查。
- [ ] 背景主体、人物、纹理和安全区与参考构图一致。
- [ ] 侧栏、顶栏、消息区和输入区比例无明显偏差。
- [ ] 面板层级清楚,没有全页面卡片化或遮罩过暗。
- [ ] 边框轻重、切角范围和阴影符合参考层级。
- [ ] 主文字可读,用户指定的颜色与对比度已满足。
- [ ] 没有重复图标、莫名边框、虚线、色块或“一坨”叠层。
### 几何证据
- [ ] 主卡片中心与实际聊天画布中心误差可接受。
- [ ] 图标以 alpha 主体/光学重心居中,不只看画布。
- [ ] 文字与图标基线一致。
- [ ] 欢迎卡、输入框和菜单没有横向溢出或裁切。
- [ ] 记录关键 bbox、中心差、间距或 computed style。
### 透明与磨砂
- [ ] 背景纹理在设计要求透明的层中实际可见。
- [ ] 外层气泡与内层工具块分别检查背景。
- [ ] blur 没有把背景细节抹成实心色块。
- [ ] computed style 的最终 background/backdrop-filter 来自预期 selector。
## 5. 动态状态
- [ ] 新建空会话欢迎页。
- [ ] 当前项目名称/其他动态文案刷新正确。
- [ ] 短消息、长消息、代码块和工具调用。
- [ ] 用户/助手/系统/跨会话气泡。
- [ ] 单行与多行输入。
- [ ] 附件、笔记、队列、发送和停止状态。
- [ ] 会话 hover、active、操作菜单展开。
- [ ] 设置页、主题选择器、弹层和移动端侧栏。
## 6. 多视口
至少检查:
- [ ] 参考设计原始视口,例如 1672×941。
- [ ] 常规桌面,例如 1440×900。
- [ ] 窄屏,例如 500px 宽。
- [ ] 移动端,例如 390×844。
- [ ] 各视口横向溢出为 0 或有明确设计原因。
- [ ] 背景定位、侧栏宽度、输入框和欢迎卡在断点处连续。
## 7. 自动化与静态检查
根据实际主题 target 调整 `<theme>`:
```bash
timeout 60s node --check public/app.js
timeout 60s node --check scripts/regression.js
timeout 60s npm run regression -- --target <theme>-theme
timeout 60s npm run regression -- --target <related-existing-theme>-theme
timeout 60s npm run regression
git diff --check
```
- [ ] 新主题专项回归通过。
- [ ] 相关旧主题专项回归通过。
- [ ] 全量回归通过。
- [ ] JS 语法检查通过。
- [ ] `git diff --check` 通过。
- [ ] 回归覆盖注册、隔离、静态/动态 DOM、资产、响应式、对比度、reduced-motion 和 cache bust。
## 8. 在线与浏览器校验
- [ ] 先用 `curl http://127.0.0.1:<port>/` 确认本地服务。
- [ ] 如远程浏览器不能访问 localhost,使用 `hostname -I` 中的 `11.144.144.*` 地址。
- [ ] CSS、JS 和每个新增资产请求返回 200。
- [ ] 浏览器实际加载的 cache-busted URL 是最新版本。
- [ ] 使用 Firefox/Playwright/Selenium 读取关键 computed style 和几何值。
- [ ] 浏览器截图或实测记录已写入任务进度。
不要仅因浏览器访问 `127.0.0.1` 失败就判断服务未启动。
## 9. 交付与保留
- [ ] 列出新主题 ID、显示名和资产目录。
- [ ] 列出修改文件和未触碰的旧主题边界。
- [ ] 列出源素材归档、manifest 和提取脚本路径。
- [ ] 报告真实浏览器结果和多视口数据。
- [ ] 报告专项/全量回归结果。
- [ ] 说明任何未验收状态或环境限制。
- [ ] 未删除概念图、素材板、切片或生成脚本。
只有工程检查、真实浏览器视觉和参考图对照全部满足后,才能把主题标记为完成。